@שרה-רחל אמר בsql server:
וכשאני מריצה את ה פרוצדורה עם השורה SELECT SCOPE_IDENTITY() as D_ID
הוא מחזיר לי את העמודה הרלוונטית
תשאירו את הפרוצדורה המקורית בשימוש עם ExecuteScalar כנ"ל
@שרה-רחל אמר בsql server:
וכשאני מריצה את ה פרוצדורה עם השורה SELECT SCOPE_IDENTITY() as D_ID
הוא מחזיר לי את העמודה הרלוונטית
תשאירו את הפרוצדורה המקורית בשימוש עם ExecuteScalar כנ"ל
@שרה-רחל אמר בsql server:
מה הכוונה של DOC
כך הוא התחביר של IDENT_CURRENT, צריך לציין את שם הטבלה שממנה שולפים את שדה הזהות.
@שרה-רחל בעיקרון SCOPE_IDENTITY() אמור לעבוד.
תנסו אולי כך:
SELECT IDENT_CURRENT('DOC') AS D_ID
@אוריי תנסה כך:
IIf([Forms]![BookListUser2]![AllUsers]=True,[CodeCreator],GetUserName())
@אוריי כן, השדה שבקריטריון שלו כתבת את ה iif
@OdedDvir אמר בiif בבונה הביטויים באקסס:
לא עולה בדעתי כרגע...
חשבתי על משהו, מה שם השדה של שם המשתמש?
@אוריי אמר בiif בבונה הביטויים באקסס:
יש לי בעיה עם זה אם אני רוצה לשנות את שם המשתמש
למה? אפשר להשתמש בTempVars כמו משתנה רגיל
ומה אתה אומר יש אפשרות לחזור לבונה לכתוב iif או את הפונקציה או את כל מה שלא ריק?
לא עולה בדעתי כרגע...
@אוריי אז זו הבעיה.
לאקסס אין יכולת לשמור ערך של משתנים גלובליים \ ציבוריים לאחר שסגרת את כל הטפסים, לכן הערך במשתנה נמחק ברגע שסגרת את הטפסים. זה מאד מרגיז בשלב הפיתוח כי זה מצריך אותך להכניס שוב שם משתמש בכל הפעלה.
אם תיכנס מהתחלה לתוכנה ותכניס שם משתמש - הסינון יעבוד.
יש פתרון אחר לבעיה הנ"ל, והוא במקום משנה גלובלי, להשתמש בTempVars, ששומרים על הערך שלהם כל זמן שאקסס פתוח (גם אם הטפסים כולם סגורים)
@אוריי יפה, מה שורת ההגדרה של המשתנה gUser?
@אוריי ובכן, כיצד הגדרת את gUser?
@אוריי כיצד הגדרת את המשתמש הגלובלי?
@אוריי אמר בiif בבונה הביטויים באקסס:
@OdedDvir
משהו מוזר הקוד הזה מוחק לי את המשתמש הגלובלי שעשיתי
לא הבנתי כוונתך.
עוד דבר אני צריך שבברירת המחדל הוא יעשה סינון ורק אם אני מסמן שיביא את כל הרשומות
את זה תוכל להגדיר במאפייני הטופס
מסנן=UserName=.....
סנן בעת טעינה
@אוריי אז ניחשתי נכון...
גם פה אתה אמור להפעיל את הסינון על טופס המשנה:
If Me.AllUsers Then
Me!BookListUser1.Form.Filter = ""
Else
Me!BookListUser1.Form.Filter = "UserName='" & GetUserName() & "'"
End If
Me!BookListUser1.Form.FilterOn
@אוריי האם אתה משתמש בטופס משנה, ופקד תיבת הסימון נמצא בטופס האב?
@אוריי זה מפני שאתה מנסה לגשת למופע של טופס שלא נוצר...
תנסה את הקוד הבא:
Me!BookListUser1.Form.AllowDeletions = True
@אוריי אמר בהפעלת קוד vba של מחיקת שדה כאשר הטופס נעול מפני מחיקה:
ב BookListUser2
אם כך, ברור למה הפקודה DeleteRecord לא זמינה, אתה מנסה למחוק רשומה מ-BookListUser2
@אוריי אמר בהפעלת קוד vba של מחיקת שדה כאשר הטופס נעול מפני מחיקה:
ומכאן אני לוקח את הנתונים לטופס BookListUser2
מה הפירוש?
היכן הצבת את פקד המחיקה?