שאלה אחרת - access

InnerKid

New member
שאלה אחרת - access

הרבה תודה על העזרה בעניין הקודם - זה הסתדר בסופו של דבר ועברתי הלאה. יש לי שאלה נוספת - אני רוצה לפתוח טופס שייפתח במצב של תצוגה של רשומה מבוקשת שמחזיקה הטבלה. מס´ הרשומה המבוקשת יירשם ע"י המשתמש בתיבת טקסט לפני שילחץ על הכפתור. איך אני מוסיף בקוד VB את הפילטר הזה?
 

InnerKid

New member
חידוד לשאלה

משום מה אני מצליח לפתוח את הטופס כאשר הוא מראה רשומה מסויימת מבוקשת רק כשמאפייני הטופס אני מכוון ל: DataEntry=No Allow Additions=NO דבר שיוצר בעייה, כי בטופס הזה אני גם משתמש להזנת רשומות חדשות, כשהוא נפתח במצב של רשומה חדשה. השאלה היא קודם כל למה רק במצב הזה אני יכול לפתוח את הטופס עם רשומה מבוקשת (במצב אחר אני מקבל טופס ריק מוכן לרשומה חדשה - תוך התעלמות מהפילטר). זה נראה לי כאילו אני צריך להחזיק שני טפסים שהם אותו הדבר, אחד לפתיחת רשומות והשני להצגת רשומה ספציפית, ואני די משוכנע שזה לא צריך להיות ככה מסורבל. יש רעיונות??
 

א ו ר ח ת

New member
לפי דעתי אתה יכול......

ליצור באותו טופס פקד שהוא פקד חיפוש של רשומה ואז שלוחצים עליו מקישים את הרשומה הרצויה לפי הקריטריון שלך וטוענים את הטופס ברשומה הזו בהצלחה.....
 
מה דעתך על.....

בניית שאילתא למשל... אני מצרף לך משהו דומה מאחד הפרוייקטים שלי....
Private Sub ComboChild_AfterUpdate() Dim sSQL As String ´ בחירת ערך להצגת הרשומה הרלונטית Me![TxtChild] = Me![ComboChild].Column(1) ´ בניית שאילתת SQL sSQL = " SELECT HeshTBL.PartID, HeshTBL.ChildID, HeshTBL.Peula,HeshTBL.howis, HeshTBL.About, " _ & " HeshTBL.Comm, HeshTBL.dDate, HeshTBL.ForHere " _ & " FROM HeshTBL " _ & " WHERE (((HeshTBL.ChildID) = " & Me![ComboChild].Column(0) & ")) " _ & " ORDER BY HeshTBL.dDate;" ´ מתן מקור לטופס Me![HeshFRM].Form.RecordSource = sSQL ´ מתן פוקוס לטופס בן Me![HeshFRM].SetFocus​
אני מקווה שזה יעזור לך.....
 

InnerKid

New member
בניתי כבר שאילתה

באקסס (אני לא כ"כ מכיר טוב את הקוד של SQL עצמו), וכשאני מריץ אותה כשאילתה, אז אין בעיה - היא נותנת לי את הרשומה המבוקשת, לפי ID שאני כותב בתיבת טקסט (השאילתה לוקחת את הערך של הרשומה שהיא צריכה להחזיר מתוך אותה תיבת טקסט). הבעיה היא כשאני מנסה לפתוח את הטופס שמבוסס על השאילתה הזאת, אז זה לא מצליח, והטופס לא מציג לי את הרשומה המבוקשת, אלא פותח כביכול רשומה חדשה. מתי זה כן מצליח? זה מה שכתבתי בהודעה הראשונה - רק כשאני משנה מאפיינים של הטופס עצמו (=noallow addition וכו´), אבל אם אני עושה דבר שכזה, אני לא יכול להשתמש בטופס כדי להזין נתונים חדשים, שזה גם לא הדבר הרצוי. אני לא רוצה לבנות עוד טופס זהה רק כדי להציג את הערכים. למה בכלל זה קורה ?
 
שים לב להתניה - Where

ותשתמש בתחביר כמו שכתבתי בהודעה הקודמת.... אחרי ה-& אני מכניס את המשתנה שלי.... או את השדה בטופס שמכיל את המאפיין של הרשומה.... אני מציע לך להכניס את הקוד הזה באירוע של בעת לחיצת כפתור של כפתור שהכותרת שלו תהיה עבור ל תנסה ותצליח.....
 

InnerKid

New member
../images/Emo51.gif, בסוף זה היה הרבה יותר פשוט

מזה... מצאתי באפשרויות של הטופס מה שעושה בדיוק מה שאני צריך בלחיצת כפתור אחת
 
למעלה