21-12-2008, 15:09
|
|
|
חבר מתאריך: 24.12.07
הודעות: 25
|
|
עזרה בפונקצית len ב visual basic
יש לי מסד שיצרתי באקסס, כשאני לוחץ בטופס על "הצג לפני הדפסה" אני רוצה לקבל דוח מסויים לפי מספר התווים במשתנה Name.
הפקודה של המקרו הבנוי לפתיחת דוח היא זאת:
DoCmd.OpenReport "Report1", acViewPreview, "", "Len([Name])<4", acNormal
DoCmd.OpenReport "Report2", acViewPreview, "", "Len([Name])>3", acNormal
והיא עובדת מצויין חוץ מיזה שהיא פותחת את שני הדוחות ורק באחד מופיעים הנתונים(זה שעומד בתנאי) התנאי עובד(הכנסתי מספר CHARים וכולם הגיבו טוב) אבל הפעולה לא טובה כי היא פותחת את שני הדוחות(ושוב, אחד מהם ריק).
לכן ניסיתי לכתוב את התנאי מההתחלה:
If (Len([Name]) < 4) Then
DoCmd.OpenReport "Report1", acViewPreview
Else
DoCmd.OpenReport "report2", acViewPreview
End If
משום מה במיקרה השני הוא לא מקבל את הערך הנכון מה- ([Len([Name , הוא כן מקבל ערך קבוע ולא נכון שאיננו קשור בכלל למספר התווים של NAME(כל הזמן 15).
חשבתי שאולי NAME לא מגיע בכלל מהאקסס אבל עובדה שבמיקרה הראשון הוא כן הגיב נכון למספר התווים(ניסיתי) אז מה כתבתי במיקרה השני לא טוב
|