תצוגה של nested grid (טבלה עם כינון פנימי) בטופס של access

בשאילתא של אקסס, קל מאוד ליצור כינון פנימי, כלומר שעבור כל רשומה מופיע סימן + ובלחיצה עליו רואים את כל הרשומות שביחס אחד לרבים לרשומה זו (מתוך טבלה ספציפית כמובן)
אבל
כאשר באים לעשות זאת בטופס מסוג גיליון נתונים
האקסס עושה את זה מסובך
ובכן השלבים הם כאלו
פתח טופס ריק
בטופס – שים טופס משנה של הטבלה ביחס של אחד לרבים
טופס המשנה ***חייב*** להיות שמקור הרשומה שלו הוא טבלה, לא שאילתא ולא שום דבר אחר פרט לטבלה.
ואז כוון את המאפיין תצוגת ברירת מחדל של הטופס הראשי ושל טופס המשנה ל-גיליון נתונים.
קשור בין הטפסים אם לא עשית זאת לפני כן
והפעל
עכשיו אפשר לראות סימן + גם בטופס…

סיכום JavaScript למבחני – w3c – שלב 1 בסיסי

JavaScript היא שפת הסקריפטים הרשמית של ה-w3c.
מעתה היא חלק מהתקן של html, ולכן אין צורך לציין type בתגית script (אם כי לא מזיק).
השפה מאוד נפוצה בצורות רבות של ישומיים : דפי web – כשפת צד לקוח, בשרתים, בתור שפת האפליקציות של win8 , בתור שפת גישה לאלמנטים שונים ב-API נפוצים ועוד.

כתיבה למסך

document.write("

This is a heading

;");

אם משתמשים במתודה הזו אחרי שהדף נטען – אז למעשה מוחקים את תוכן הדף וכותבים תוכן חדש.

תגובה לאירועים – דוגמא :

;

שינוי ה-HTML / ה-CSS  /  או כל אוביקט אחר של משהו בדף – באמצעות JS ניתן לשנות כל אלמנט בדף.

אחת הצורות לגשת לאובייקטים בדף היא באמצעות השיטה getelementbyid , כמובן שבשביל שזה יעבוד צריך שתהיה תגית ID לאוביקט הרלוונטי בדף.

להלן דוגמא לשינוי HTML :
x=document.getElementById("demo")  //Find the element
 x.innerHTML="Hello JavaScript";     //Change the content

בצורה דומה אפשר לשנות גם מאפייני CSS, או SRC של תגית IMG ועוד ועוד.

שימוש ב-JavaScript לצורך וידוא של מילוי נכון של טפסים – אחד השימושים הנפוצים הוא וידוא שהמשתמש מילא נכון טפסים שונים. מה שנקרא וואלידציה.
דוגמא :

if isNaN(x) {alert("Not Numeric")};

שימוש בתוך HTML – בתגית script
פונקציות – כמובן אפשר לארוז רצף פקודות בתור פונקציות. מבחינת js זה לא משנה.
תגובה לאירועים בדפדפן – אפשר לשים פקודות js בתוך התגובה עצמה, ממש בתוך ה-attribute של התגית html. או לחלופין לקרוא לפונקצית js שהוגדרה במקום אחר (אין משמעות איפה מגדירים את הפונקציות בתוך הדף – זה יכול להיות ב-Head או ב-body.
הנה דוגמא :

  

שמירה של קובץ javascript בקובץ חיצוני – כמו css, גם js אפשר לשמור חיצונית. ואז בתוך חלק ה-Head קוראים לו באמצעות הפניה.

 

עכשיו כל מיני דוגמאות:
—————————–
שינוי דברים בתוך דף ה-html : – בדוגמא הבאה ניגשים לאוביקט p בתוך הדף לפי ה-id שלו, ומשנים את תוכנו.

My First Paragraph

כתיבה לתוך הדף – בדוגמא הבאה כותבים ישירות לדף. צריך לזכור, שבמידה ומפעילים את הפקודה הזו, אחרי שהדף כבר נטען (למשל באמצעות לחיצה על כפתור) אז מה שיקרה הוא – שאנחנו נגרום להחלפת ה-Html של אותו דף… וזה בדר"כ לא רצוי.
pre>

Javascript רגישה לאותיות גדולות וקטנות.
Javascript מתעלמת מרווחים, אבל עדין כל פקודה – בשורה אחת.
בסוף כל פקודה – שמים "נקודה פסיק" ;
אם רוצים "לחלק" string לכמה שורות, עושים זאת עם סימן backslash , ככה:

document.write("Hello 
World!");

הערות ב-JS עושים עם סלאש כפול בתחילת ההערה //
או באמצעות /* */ – בדיוק כמו ב-php ועוד.

משתנים :
———–
– צריך להצהיר עליהם באמצעות הפקודה var , אבל לא מגדירים את הסוג שלהם.
– אפשר להכניס להם ערך מייד כאשר מצהירים עליהם, באמצעות סימן "שווה" =, למשל var x = 5
– משתנה שהצהרנו עליו, מקבל אוטמטית ערך שנקרא undefined, אבל אם נרצה לרוקן משתנה, צריך להציב לתוכו ערך null

person=null;

– אם מצהירים על משתנה שעבר קיים, אז המשתנה *לא* מאבד את הערך שלו.
– כשרוצים להכניס string, אפשר להשתמש במרכאות כפולות, או בגרש בודד. למשל var a="jj",b='ff' וכדומה
– כשרוצים להכניס ערכים בוליאנים, פשוט כותבים true או false , למשל var a=true

מערכים
——–
– מצהירים עליהם ככה :

var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";

ובצורה מקוצרת ככה :

var cars=new Array("Saab","Volvo","BMW");

אוביקטים
————
מגדרים אוביקטים עם סוגרים מסולסלים :

var person={firstname:"John", lastname:"Doe", id:5566};

כאשר person הוא שם האוביקט, והמאפיינם שלו הם firstname,lastname,id , והערכים של המאפיינים – זה מה שהצבנו.
אם יותר נוח – אפשר כמובן בכמה שורות ככה :

var person={
firstname : "John",
lastname  : "Doe",
id        :  5566
};

איך ניגשם למאפיינים של אוביקט ?
יש 2 צורות :

name=person.lastname;
name=person["lastname"];

איך מגדירים משתנים רגילים – בתור אוביקטים ?
– תשובה : ברגע שמוסיפים להצהרה את המילה new – אז המשתנה הופך להיות אוביקט.
– ב-JS כל סוג המשתנים יכולים להיות אוביקטים, ולמען האמת יותר קל לעבוד איתם ככה.

var name = new String;
var x =    new Number;
var y =    new Boolean;

 

להפוך שם פרטי ומשפחה ב-SQL SERVER

במערכות שלי, בדרך כלל שם הלקוח בא בשדה אחד שמכיל גם שם פרטי וגם שם משפחה

לפעמים הלקוח מבקש אפשרות חיפוש גם לפי שם פרטי וגם לפי שם משפחה

זו הצורה שאני עושה זאת ב-T-SQL (SQL SERVER 2012) :


SUBSTRING(dbo.vwWorkersAndDepts.WorkerName + ' ' + dbo.vwWorkersAndDepts.WorkerName ,
 CHARINDEX(' ', dbo.vwWorkersAndDepts.WorkerName)+1,LEN(dbo.vwWorkersAndDepts.WorkerName))

עבודה עם mySqli בעברית בקידוד utf8

כדי לוודא שהתוספת mysqli מושכת נכון את הנתונים

אני שם את הקוד הבא

 

/* change character set to utf8 */
if (!mysqli_set_charset($con, "utf8")) {
printf("Error loading character set utf8: %sn", mysqli_error($con));
} else {
printf("Current character set: %sn", mysqli_character_set_name($con));
}

עבודה ב-UTF8 עם php/mySql בעברית

Collation of mySql server: utf8_general_ci

collation of mySql DB : utf8_general_ci

ואם אתם עובדים עם אשף כלשהוא שיוצר את הטפסים, אז כמובן גם בהגדרות שלו צריך.

במקרה שלי אני עובד עם SC או עם zend

ולכן

clinet encoding in the scriptCase Connection Edit Screen : utd8

Sql Server 2012 – איך יוצרים מפתח ראשי בטבלה שכבר קיימת

קודם כל חייבים לוודא שהעמודה שהולכים להפוך אותה למפתח ראשי –

  1. אין בה ערכים ריקים (Null )
  2. היא מקונפגת כך שהיא לא יכולה לקבל ערכים ריקים (No Null )

    כדי לקנפג את זה , רושמים את הפקודה הבאה

ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL

  1. עכשיו, הולכים לטבלה ב-SSMS, ולוחצים מקש ימני > Design
  2. בטבלה שנפתחה לנו, לוחצים מקש ימני על השדה (ברווח האפור הקטן) > Set Primary Key