ניווט

    תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    • מקצועות
    חוקי הפורום

    עזרה באקסס | שגיאה 13 אי התאמת נתונים

    תוכנה
    2
    3
    50
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגב כנושא
    התחבר בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • אוריי
      אוריי נערך לאחרונה על ידי אוריי

      כתבתי פונקציה ב VBA עם כמה שאילתות
      תכלס בדקתי את כל המשפטי SQL באשף והכל עובד ..
      הבעיה היא כאשר אני מריץ את זה ב vba הוא נתקל בשגיאה 13 של אי התאמת נתונים
      המוזר הוא שאת השאילתה הראשונה הוא עובר בקלות ואילו את השניה הוא נתקע בה (והרי שניהם עובדים באשף של אקסס)
      ניסיתי לחפש ברשת משהו מעין זה ומה שניסיתי לא כזה הועיל לי
      זה הקוד

      Public Function vb_status() As Integer
          Dim rs As Recordset
          Set rs = CurrentDb.OpenRecordset("SELECT DnoriId,status,DialDate " & _
              "FROM DonorManagement " & _
              "WHERE (((DonorManagement.status)=5) And ((DonorManagement.DialDate)<Now()))" & _
              "ORDER BY DonorManagement.DialDate;")
          If rs.EOF Then
              Set rs = CurrentDb.OpenRecordset("SELECT DnoriId, status, HomePhone,Phone1,Phone2 FROM DonorManagement WHERE (((status)=1) AND ((HomePhone) Like " * ")) OR (((status)=1) AND ((Phone1) Like " * ")) OR (((status)=1) AND ((Phone2) Like " * "));")
              If rs.EOF Then
                  Set rs = CurrentDb.OpenRecordset("SELECT DnoriId,status,DialDate " & _
                      "FROM DonorManagement " & _
                      "WHERE (((status)=8) And ((HomePhone) Like " * ")) Or " & _
                      "(((status)=8) And ((Phone1) Like " * ")) Or " & _
                      "(((status)=8) And ((Phone2) Like " * "));")
              Else
                  vb_status = rs!DnoriId
              End If
          Else
              vb_status = rs!DnoriId
          End If
      End Function
      

      השגיאה היא בשורה 8

      8f0cae26-7ce5-499a-9232-55de63561077-image.png

      6914ba90-5b59-4c97-8de9-477d0b2eef69-image.png

      אשמח אם תעירו את 👀 היכן תעיתי...

      OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • OdedDvir
        OdedDvir @אוריי נערך לאחרונה על ידי OdedDvir

        @אוריי אמר בעזרה באקסס | שגיאה 13 אי התאמת נתונים:
        השגיאה היא בגרשיים:

        Set rs = CurrentDb.OpenRecordset("SELECT DnoriId, status, HomePhone,Phone1,Phone2 FROM DonorManagement WHERE (((status)=1) AND ((HomePhone) Like " * ")) OR (((status)=1) AND ((Phone1) Like " * ")) OR (((status)=1) AND ((Phone2) Like " * "));")
        

        הקומפיילר לא יודע לפרש אילו גרשיים נמצאים בגוף המחרוזת ואילו גרשיים מציינים את סוף המחרוזת.

        את כל הגרשיים הפנימיים תהפוך לגרש יחיד:

        Set rs = CurrentDb.OpenRecordset("SELECT DnoriId, status, HomePhone,Phone1,Phone2 FROM DonorManagement WHERE (((status)=1) AND ((HomePhone) Like ' * ')) OR (((status)=1) AND ((Phone1) Like ' * ')) OR (((status)=1) AND ((Phone2) Like ' * '));")
        

        שאלת תם, תמהני, מה התועלת שאתה משיג ב:

        Like ' * '
        

        אם להסיר רווחים - תשתמש בפונקציה Trim()

        אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 3
        • אוריי
          אוריי @OdedDvir נערך לאחרונה על ידי אוריי

          @odeddvir אמר בעזרה באקסס | שגיאה 13 אי התאמת נתונים:

          שאלת תם, תמהני, מה התועלת שאתה משיג ב:

          Like ' * '
          

          אם להסיר רווחים - תשתמש בפונקציה Trim()

          א. תודה רבה זה פתר את השגיאה
          ב. באמת זה לא עזר לי תכלס טעיתי קצת בקוד אבל ב"ה הסתדר..
          הייתי צריך לכתוב Is Not Null במקום Like ' * '
          @OdedDvir הרבה תודה

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • 1 / 1
          • First post
            Last post
          בא תתחבר לדף היומי!