בהתאם למה שהוצע לעיל, רציתי להרחיב מעט,
מעט ארוך, אולי לא מתקדם,
אבל זה מה שיש לי ממה שהכנתי לפני זמן רב.
מצורף דוגמא - צילום מסך:
מצורף דוגמא - קוד לעדכון רשימה - תצוגת רשימה:
Public Function Rahema1()
'פותח טקסט
Text1 = "SELECT [רשימת הזמנות].[קוד הזמנה], [רשימת הזמנות].[" & [מיין לפי] & "] AS מיין, "
'טקסט רשימה
Text2 = " [רשימת הזמנות].[קוד הזמנה] AS הזמנה, [רשימת הזמנות].[קוד לקוח] AS לקוח, [רשימת הזמנות].פרטים, [רשימת הזמנות].כתובת, [רשימת הזמנות].קומה, [רשימת הזמנות].[תאריך הזמנה], [רשימת הזמנות].[תאריך הזמנה עברי], [רשימת הזמנות].[הוזמן לתאריך], [רשימת הזמנות].[הוזמן לתאריך עברי], [רשימת הזמנות].[סופק בתאריך], [רשימת הזמנות].[סופק בתאריך עברי], [רשימת הזמנות].לתשלום, [רשימת הזמנות].שולם, [רשימת הזמנות].הקפה, IIF([קוד לקוח], DLookUp('[הקפה]','[רשימת אנשי קשר]','[קוד]=' & [קוד לקוח])) AS [הקפת לקוח], [רשימת הזמנות].מצב, DCount('[שורה]','[פרטי הזמנה - רשימת הזמנה]','[קוד הזמנה]=' & [קוד הזמנה]) AS ש_הזמנה, DCount('[שורה]','[פרטי הזמנה - רשימת הספקה]','[קוד הזמנה]=' & [קוד הזמנה]) AS ש_הספקה FROM [רשימת הזמנות] "
'סינון בסיס
Text3 = "WHERE (((IIf([FORMS]![רשימת הזמנות]![הצג הכל]=-1,""הצג"",IIf([מצב]=""בהזמנה"" And [FORMS]![רשימת הזמנות]![בהזמנה]=-1,""הצג"",IIf([מצב]=""בוצע"" And [FORMS]![רשימת הזמנות]![בוצע]=-1,""הצג"",IIf([מצב]=""בוטל"" And [FORMS]![רשימת הזמנות]![בוטל]=-1,""הצג"",IIf([מצב]=""מושהה"" And [FORMS]![רשימת הזמנות]![מושהה]=-1,""הצג"",""""))))))=""הצג"")"
'סינן תאריכים
Text4 = IIf([סוג סינון] = "בין תאריכים", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "]) Between [forms]![רשימת הזמנות]![מתאריך] AND ([forms]![רשימת הזמנות]![עד תאריך])) ", IIf([סוג סינון] = "מתאריך", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "])>=[מתאריך])", IIf([סוג סינון] = "עד תאריך", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "]<=[עד תאריך])) ", ")")))
'סינון סה לתשלום
If ([סוג סינון סה לתשלום] = "ללא סינון") Then
Text5 = ""
End If
If ([סוג סינון סה לתשלום] = "שווה ל...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) Like [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "גדול מ...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) > [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "קטן מ...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) < [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "בין...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) Between [FORMS]![רשימת הזמנות]![סה לתשלום-1] And [FORMS]![רשימת הזמנות]![סה לתשלום-2]) "
End If
'סינון סה שולם
If ([סוג סינון סה שולם] = "ללא סינון") Then
Text6 = ""
End If
If ([סוג סינון סה שולם] = "שווה ל...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) Like [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "גדול מ...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) > [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "קטן מ...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) < [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "בין...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) Between [FORMS]![רשימת הזמנות]![סה שולם-1] And [FORMS]![רשימת הזמנות]![סה שולם-2]) "
End If
'סינון הקפה
If ([סוג סינון הקפה] = "ללא סינון") Then
Text7 = ""
End If
If ([סוג סינון הקפה] = "שווה ל...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) Like [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "גדול מ...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) > [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "קטן מ...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) < [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "בין...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) Between [FORMS]![רשימת הזמנות]![הקפה-1] And [FORMS]![רשימת הזמנות]![הקפה-2]) "
End If
'מיון
Text8 = "ORDER BY [רשימת הזמנות].[" & [מיין לפי] & "]" & [מיון עולה יורד] & ";"
'מחברת טקסט רשימה
Text9 = Text1 & Text2 & Text3 & Text4 & Text5 & Text6 & Text7 & Text8
'מעדכן רשימה
[רשימת הזמנות].RowSource = Text9
'מעדכן שדה איתור
[שדה איתור].RowSource = Text9
' מרענן רשימה
DoCmd.RunCommand acCmdRefreshPage
End Function
מצורף דוגמא - קוד ליצירת רשימה - עבור דוח:
Public Function Rahema2()
'פותח טקסט
Text1 = "SELECT [רשימת הזמנות].[" & [מיין לפי] & "] AS מיין, "
'טקסט רשימה
Text2 = " [רשימת הזמנות].[קוד הזמנה] AS הזמנה, [רשימת הזמנות].[קוד לקוח] AS לקוח, [רשימת הזמנות].פרטים, [רשימת הזמנות].כתובת, [רשימת הזמנות].קומה, [רשימת הזמנות].[תאריך הזמנה], [רשימת הזמנות].[תאריך הזמנה עברי], [רשימת הזמנות].[הוזמן לתאריך], [רשימת הזמנות].[הוזמן לתאריך עברי], [רשימת הזמנות].[סופק בתאריך], [רשימת הזמנות].[סופק בתאריך עברי], [רשימת הזמנות].לתשלום, [רשימת הזמנות].שולם, [רשימת הזמנות].הקפה, [רשימת הזמנות].מצב INTO [דוח הזמנות] FROM [רשימת הזמנות] "
'סינון בסיס
Text3 = "WHERE (((IIf([FORMS]![רשימת הזמנות]![הצג הכל]=-1,""הצג"",IIf([מצב]=""בהזמנה"" And [FORMS]![רשימת הזמנות]![בהזמנה]=-1,""הצג"",IIf([מצב]=""בוצע"" And [FORMS]![רשימת הזמנות]![בוצע]=-1,""הצג"",IIf([מצב]=""בוטל"" And [FORMS]![רשימת הזמנות]![בוטל]=-1,""הצג"",IIf([מצב]=""מושהה"" And [FORMS]![רשימת הזמנות]![מושהה]=-1,""הצג"",""""))))))=""הצג"")"
'סינן תאריכים
Text4 = IIf([סוג סינון] = "בין תאריכים", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "]) Between [forms]![רשימת הזמנות]![מתאריך] AND ([forms]![רשימת הזמנות]![עד תאריך])) ", IIf([סוג סינון] = "מתאריך", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "])>=[מתאריך])", IIf([סוג סינון] = "עד תאריך", " AND ([רשימת הזמנות].[" & [אפשרות סינון] & "]<=[עד תאריך])) ", ")")))
'סינון סה לתשלום
If ([סוג סינון סה לתשלום] = "ללא סינון") Then
Text5 = ""
End If
If ([סוג סינון סה לתשלום] = "שווה ל...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) Like [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "גדול מ...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) > [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "קטן מ...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) < [FORMS]![רשימת הזמנות]![סה לתשלום-1]) "
End If
If ([סוג סינון סה לתשלום] = "בין...") Then
Text5 = " AND (([רשימת הזמנות].[לתשלום]) Between [FORMS]![רשימת הזמנות]![סה לתשלום-1] And [FORMS]![רשימת הזמנות]![סה לתשלום-2]) "
End If
'סינון סה שולם
If ([סוג סינון סה שולם] = "ללא סינון") Then
Text6 = ""
End If
If ([סוג סינון סה שולם] = "שווה ל...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) Like [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "גדול מ...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) > [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "קטן מ...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) < [FORMS]![רשימת הזמנות]![סה שולם-1]) "
End If
If ([סוג סינון סה שולם] = "בין...") Then
Text6 = " AND (([רשימת הזמנות].[שולם]) Between [FORMS]![רשימת הזמנות]![סה שולם-1] And [FORMS]![רשימת הזמנות]![סה שולם-2]) "
End If
'סינון הקפה
If ([סוג סינון הקפה] = "ללא סינון") Then
Text7 = ""
End If
If ([סוג סינון הקפה] = "שווה ל...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) Like [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "גדול מ...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) > [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "קטן מ...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) < [FORMS]![רשימת הזמנות]![הקפה-1]) "
End If
If ([סוג סינון הקפה] = "בין...") Then
Text7 = " AND (([רשימת הזמנות].[הקפה]) Between [FORMS]![רשימת הזמנות]![הקפה-1] And [FORMS]![רשימת הזמנות]![הקפה-2]) "
End If
'מיון
Text8 = "ORDER BY [רשימת הזמנות].[" & [מיין לפי] & "]" & [מיון עולה יורד] & ";"
'מחברת טקסט רשימה
Text9 = Text1 & Text2 & Text3 & Text4 & Text5 & Text6 & Text7 & Text8
' יוצר רשימת הזמנות
DoCmd.RunSQL "" & Text9 & "", -1
End Function
בכל אופן שיהיה לך הרבה הצלחה
פורסם במקור בפורום CODE613 ב07/07/2015 00:08 (+03:00)