פקודת DLookUp
-
@הכוכב-שלנו אגב, התחלת עם dlookup,אז זה פונקציה מאד איטית, וטוב להשתמש איתה רק במשהו ספציפי מאד לדוגמא בטופס שלא נורא אם יקח איזה חצי שניה - שניה, אבל כשאתה עושה משהו רציני כמו לולאות וכיו"ב, תעשה רק עם RS.
-
@clickone ממש תודה רבה רבה, משום מה רוב השורות נהיות אדומות, יכול להיות שזה בעיה כוללת
(בשני המודולים) -
@chagold אמר בפקודת DLookUp:
@הכוכב-שלנו אגב, התחלת עם dlookup,אז זה פונקציה מאד איטית, וטוב להשתמש איתה רק במשהו ספציפי מאד לדוגמא בטופס שלא נורא אם יקח איזה חצי שניה - שניה, אבל כשאתה עושה משהו רציני כמו לולאות וכיו"ב, תעשה רק עם RS.
ביקשתי גם מ@clickone תן לי כיוון מה זה RS? פונקצייה? יש לך דוגמא?
-
@הכוכב-שלנו אמר בפקודת DLookUp:
@clickone ממש תודה רבה רבה, משום מה רוב השורות נהיות אדומות, יכול להיות שזה בעיה כוללת
(בשני המודולים) -
@הכוכב-שלנו אתה יכול למחוק או לשים בהערה את כל השורות שבאדום
משום מה אצלך התו של ההערה נמחק (או שאתה מחקת אותו) -
@clickone אמר בפקודת DLookUp:
@הכוכב-שלנו אתה יכול למחוק או לשים בהערה את כל השורות שבאדום
משום מה אצלך התו של ההערה נמחק (או שאתה מחקת אותו)איזה הערה? אתה מתכווין לגרש שהופך אותו לירוק?
אם זה ירוק אז זה מנוטרל, לא?
תודה -
@הכוכב-שלנו תשים גרש בודד לפני כל שורה באדום זה יהפוך את זה להערה בקוד
-
@clickone אמר בפקודת DLookUp:
@הכוכב-שלנו תשים גרש בודד לפני כל שורה באדום זה יהפוך את זה להערה בקוד
ערכתי את ההודעה
תסביר לי בבקשה, יש כזה דבר "הערה בקוד" עוד מושג חדש בשבילי אם כן -
@הכוכב-שלנו RS זה טכניקה לעבודה עם מסדי נתונים - טבלאות.
אני מצרף איזו תוכניתונת שעשיתי פעם לעזור לי בחישוב זמני עבודה, תבין את הפרנציפ, וכל שאלה תשאל.תסתכל בREFERENCES כדי שיצרף לך את הספריה הרלוונטית
-
@הכוכב-שלנו
כן
כל שורה בצבע ירוק, היא הערה, והמהדר לא מתייחס אליה ולא מריץ אותה.
בVB הערה מתחילה בגרש בודד'
בשאר השפות זה בד"כ 2 לוכסנים //
הערות יעזרו לך בעתיד להבין מה רצית / לה שמת שורה מסויימת.
ולפעמים אתה רוצה לנטרל שורה אז במקום למחוק ולהחזיר, אתה פשוט יכול להפוך אותה להערה. ככה היא תישאר מצד אחד.
ומצד שני, היא לא תפריע.
ואם תחליט להחזיר את השורה פשוט תמחק את הגרש הבודד וההערה תתבטל, והשור התחזור להיות פעילה. -
@clickone אמר בפקודת DLookUp:
@הכוכב-שלנו
כן
כל שורה בצבע ירוק, היא הערה, והמהדר לא מתייחס אליה ולא מריץ אותה.
בVB הערה מתחילה בגרש בודד'
בשאר השפות זה בד"כ 2 לוכסנים //
הערות יעזרו לך בעתיד להבין מה רצית / לה שמת שורה מסויימת.
ולפעמים אתה רוצה לנטרל שורה אז במקום למחוק ולהחזיר, אתה פשוט יכול להפוך אותה להערה. ככה היא תישאר מצד אחד.
ומצד שני, היא לא תפריע.
ואם תחליט להחזיר את השורה פשוט תמחק את הגרש הבודד וההערה תתבטל, והשור התחזור להיות פעילה.אני משתמש בגרש לנסיונות ועוד, אבל לא הבנתי שפה הקוד באמת צריך להיות עם כל הגרשים הללו, תודה רבה
-
@chagold אמר בפקודת DLookUp:
@הכוכב-שלנו RS זה טכניקה לעבודה עם מסדי נתונים - טבלאות.
אני מצרף איזו תוכניתונת שעשיתי פעם לעזור לי בחישוב זמני עבודה, תבין את הפרנציפ, וכל שאלה תשאל.תסתכל בREFERENCES כדי שיצרף לך את הספריה הרלוונטית
אני יכול להשתמש גם בקוד של הלחצנים?
-
@הכוכב-שלנו לא, זה ראשי תבות של RecordSet שזה הטכניקה.
-
@הכוכב-שלנו אמר בפקודת DLookUp:
@chagold אמר בפקודת DLookUp:
@הכוכב-שלנו RS זה טכניקה לעבודה עם מסדי נתונים - טבלאות.
אני מצרף איזו תוכניתונת שעשיתי פעם לעזור לי בחישוב זמני עבודה, תבין את הפרנציפ, וכל שאלה תשאל.תסתכל בREFERENCES כדי שיצרף לך את הספריה הרלוונטית
אני יכול להשתמש גם בקוד של הלחצנים?
למה לא?
-
@הכוכב-שלנו
recordset וביקצור RS זו שיטה לעבור על הטבלה או חלק ממנה בקוד.
הרעיון הכללי הוא ככה:
אתה מצהיר על אובייקט recordset
וטען אליו נתונים
ואז אתה יכול לעבור על כל מה שקילת בלופ או בכל דרך אחרת.
לופ=ריצה בחזרה מספר פעמים שאתה מגדיר. לדוגמה, הקוד ירוץ כמספר הרשומות שיש בטבלה, וכל פעם המשתנה יחזיק את הרשומה הנוכחית.
ואז, אחרי שטענת את הנתונים, אתה יכול לבצע כל מיי פעולות
לדוגמא, לעדכן נתונים, למחוק, ועוד.
התייחסות לשדה בטבלה יכלה להעשות ב2 דרכים.rs!username
אוrs("username)
אם יש לך רווח בשם השדה, או שהשדת שלך בעברית אז תשתמש באפשרות השנייה
(המלצה שלי, לא לעשות לא עברית ולא רוו בשמות השדות והטבלאות. זה יקשה עליך את החיים. במיוחד אם אתה עובד עם קוד.....)
-
@הכוכב-שלנו
אתה יכול לעבור על הקוד
אם אתה רוצה אתה יכול גם להציג בטופס או במסגבוקס או איך שתרצה
אתה יכול גם להוסיף ולעדכןאתה יכול לקבל בטופס בצורה ישירה את אובייקט הRS שלו
הנה דוגמא שלוקחת את הRS של הטופס הנוכחי עם הסינון שלו, ומעדכנת את זמן העידכון הנוכחי לתאריך + שעה של עכשיו -- כמובן צריך שיהיה שדה כזה בטופסDim rs As Recordset Set rs = Me.Recordset.Clone For i = 0 To rs.RecordCount - 1 rs.Edit rs!LastUpdate = Now rs.update rs.MoveNext Next
עריכה. שחכתי להוסיף את rs.MoveNext אז הוספתי עכשיו. אחרת הכל יהיה על הרשומה הראשונה.
ויש עוד דרך
Dim rs As Recordset Set rs = Me.Recordset.Clone Do Until rs.EOF rs.Edit rs!LastUpdate = Now rs.update rs.MoveNext Loop
2 הדרכים נכונות
-
@clickone אמר בפקודת DLookUp:
הנה דוגמא שלוקחת את הRS של הטופס הנוכחי עם הסינון שלו, ומעדכנת את זמן העידכון הנוכחי לתאריך + שעה של עכשיו -- כמובן צריך שיהיה שדה כזה בטופס
אתה מתכווין שדה בטופס או מספיק בטבלה?
תודה לך -
@הכוכב-שלנו
בטבלה מספיק.
אבל במקרה ואתה מושך מהטופס, אז צריך שהשדה הזה יהיה בתוך מקור הרשומה. (לא חייב שיהיה שדה בטופס.)