עזרה בשאילתה בVBA
-
- אתה יכול להעלות דוגמא קטנה?
- עצה שלי. תנסה לעבור לשמות טבלאות טפסים ושדות באנגלית. זה ממש יקל עליך את החיים. (אין לך מושג כמה...)
לכארה כמו שכתבו כאן אתה צריך להקיף במרכאות או בגרש בודד.
אם CT זה משתנה, אני ממליץ בחום להוסיף לפרוייקט את פונקציית Enquote
ופשוט לעטוף איתה בשאילתות בקוד את הסטרינג.
היא מטפלת בגרשיים באופן מושלם.Function Enquote(ByVal strText As String) As String Enquote = """" & Replace(strText, """", """""") & """" End Function
-
0_1541451751561_שאילתה.accdb
הקוד אמור לעדכן את כל מי שמסומן בטיפול - לשולם, בחנות שאותה בחרתי. -
@clickone @ארי מצורף כאן כל הקוד VBA:
Option Compare Database Option Explicit Private Sub אישור_Click() Dim rs As DAO.Recordset Dim nm As String nm = Me.חנות If Nz(Me.חנות, "") <> "" Then Set rs = CurrentDb.OpenRecordset("SELECT * FROM טתלושים WHERE ((([טתלושים].[בטיפול]) = True) AND (([טתלושים].[שולם]) = False) AND (([טתלושים].[חנות]) = '" & nm & "'))") If rs.RecordCount = 0 Then MsgBox "אין שוברים בטיפול", , "שוברים 4000" Else If MsgBox("קיימים שוברים בטיפול מחשבונות קודמים" & Chr(13) & "?האם ברצונך לסמנם כשולמו", vbYesNo + vbCritical + vbMsgBoxRight + vbDefaultButton2, "שוברים 4000") = vbYes Then DoCmd.SetWarnings False DoCmd.RunSQL ("UPDATE טתלושים SET טתלושים.שולם = True WHERE ([טתלושים].[חנות] = '" & nm & "')") DoCmd.SetWarnings False Else MsgBox "לא ניתן להתחיל חשבון חדש לפני סימון שולם על החשבון הקודם", vbInformation + vbOKOnly + vbMsgBoxRight, "שוברים 4000" Me.חנות = Null End If End If Else MsgBox "נא להכניס שם חנות", vbCritical + vbOKOnly + vbMsgBoxRight, "שוברים 4000" End If End Sub