דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה באקסס - הפעלת שאילתה ע"י קוד VB

עזרה באקסס - הפעלת שאילתה ע"י קוד VB

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 3 כותבים 294 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M מנותק
    M מנותק
    moshe11
    כתב ב נערך לאחרונה על ידי moshe11
    #1

    שלום,
    אני באמצע פיתוח תוכנה באקסס,
    יש טופס שצריך לבצע פעולה (לאשר או לא לאשר תהליך) ע"פ תוצאת שאילתה שהגדרתי.
    ניסיתי לעשות את זה ע"י הגדרת ListBox שה- source שלו זו שאילתה שמוגדרת ב- VB, אבל לא הצלחתי להגיע לקוד שיתן לי את תוצאת השאילתה או לפחות כמה רשומות יש בתוצאה.
    מישהו יודע לעזור?? זה דחוף..
    תודה מראש

    chagoldC 2 תגובות תגובה אחרונה
    0
    • chagoldC מנותק
      chagoldC מנותק
      chagold
      השיב לmoshe11 ב נערך לאחרונה על ידי
      #2

      @moshe11 יש לך קוד שתוכל להעתיק לכאן?

      M תגובה 1 תגובה אחרונה
      0
      • M מנותק
        M מנותק
        moshe11
        השיב לchagold ב נערך לאחרונה על ידי moshe11
        #3

        @chagold !
        אני רוצה לקבל מהשאילתה תאריך אירוע ע"פ תנאים מסוימים
        ולהשוות אותו אח"כ לתאריך שמחושב בקוד,
        אין צורך להראות בטופס את תוצאת השאילתה אלא רק לפעול על פיה.
        קוד:5c3fb1ab-cb57-4493-8705-e754bc27e81b-image.png

        chagoldC תגובה 1 תגובה אחרונה
        0
        • chagoldC מנותק
          chagoldC מנותק
          chagold
          השיב לmoshe11 ב נערך לאחרונה על ידי chagold
          #4

          @moshe11 לפני שאני או מישהו מסתכל
          יש בתיבת התגובות כפתור בצורה הזו </>. תלחץ עליו ותעתיק את הקוד לבפנים.

          M תגובה 1 תגובה אחרונה
          1
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            השיב לmoshe11 ב נערך לאחרונה על ידי
            #5

            @moshe11 אמר בעזרה באקסס - הפעלת שאילתה ע"י קוד VB:

            או לפחות כמה רשומות יש בתוצאה

            אגב, תוכל לעשות שאילתת סיכום עם
            SELECT Sum(table.coloumn) AS Sum from table
            או ספירה
            SELECT count(table.coloumn) AS Sum from table

            M תגובה 1 תגובה אחרונה
            1
            • M מנותק
              M מנותק
              moshe11
              השיב לchagold ב נערך לאחרונה על ידי
              #6

              @chagold אמר בעזרה באקסס - הפעלת שאילתה ע"י קוד VB:

              @moshe11 לפני שאני או מישהו מסתכל
              יש בתיבת התגובות כפתור בצורה הזו </>. תלחץ עליו ותעתיק את הקוד לבפנים.

              בהעתקה העברית הופכת לג'בריש אבל זה

              code:
              
              Private Sub ô÷åãä82_Click()
              
                 Dim available As Boolean
                 Dim FirstDate As Date
                 Dim eventData As String
                 Dim msg As String
                 eventData = Me.t_lohazi.Caption
                 FirstDate = eventData
                 available = True
                 msg = "available"
                 For i = -3 To 3
                 Dim dateToCheck As Date
                 Dim dateStr As String
                 dateToCheck = DateAdd("d", i, FirstDate)
                 dateStr = dateToCheck
                 Dim degem As Integer
                 degem = [Forms]![äæîðä çãùä]![ãâí_ðáçø]
                 Dim ctl As Control
                 Set ctl = Me.dateList
                 ctl.RowSourceType = "Table/Query"
                 ctl.RowSource = "SELECT [ëîåú äæîðåú ãâí ìàøåò].úàøéê_àøåò" & _
                                 "FROM [ëîåú äæîðåú ãâí ìàøåò]" & _
                                 "WHERE ((([ëîåú äæîðåú ãâí ìàøåò].úàøéê_àøåò) = '" & dateStr & "' ) AND (([ëîåú äæîðåú ãâí ìàøåò].÷åã_ôøéè)=[Forms]![äæîðä çãùä]![ãâí_ðáçø]))"
                 ctl.Requery
                 If ctl.ItemsSelected.count > 0 Then
                    available = False
                    msg = "not available"
                 End If
                 Next i
                 Me("ok").Enabled = available
              End Sub
              
              
              תגובה 1 תגובה אחרונה
              0
              • M מנותק
                M מנותק
                moshe11
                השיב לchagold ב נערך לאחרונה על ידי
                #7

                @chagold
                ואיך לגשת לתוצאה של שאילתה?
                אני רוצה לגשת דרך הקוד, לא להציג בטופס

                OdedDvirO chagoldC 2 תגובות תגובה אחרונה
                0
                • OdedDvirO מחובר
                  OdedDvirO מחובר
                  OdedDvir
                  השיב לmoshe11 ב נערך לאחרונה על ידי OdedDvir
                  #8

                  @moshe11 למספר הרשומות, תוכל להשתמש בפונקציה DCount:

                  
                  Dim SQL As String
                  SQL = "SELECT ........"
                  
                  Dim RecordsInQuery As Long
                  RecordsInQuery = DCount("*", SQL)
                  

                  עבור תוצאה מסויימת בשאילתא, תשתמש ב-DLookUp:

                  Dim SQL As String
                  SQL = "Select FirstName, LastName, BirthDate FROM Students"
                  Dim Result As Variant
                  Dim MyBirthDay As Date
                  Result = DLookup("BirthDate", SQL, "FirstName='OdedDvir')
                  If Not IsNull(Result) Then
                     MyBirthDay = CDate(Result)
                  Else
                     MsgBox("Sorry...")
                  End If
                  
                  תגובה 1 תגובה אחרונה
                  1
                  • chagoldC מנותק
                    chagoldC מנותק
                    chagold
                    השיב לmoshe11 ב נערך לאחרונה על ידי
                    #9

                    @moshe11
                    תראה את זה

                    Sub SelectX2() 
                         
                            Dim dbs As Database, rst As Recordset 
                         
                            ' Modify this line to include the path to Northwind 
                            ' on your computer. 
                            Set dbs = OpenDatabase("Northwind.mdb") 
                         
                            ' Count the number of records with a PostalCode  
                            ' value and return the total in the Tally field. 
                            Set rst = dbs.OpenRecordset("SELECT Count " _ 
                                & "(PostalCode) AS Tally FROM Customers;") 
                         
                            ' Populate the Recordset. 
                            rst.MoveLast 
                         
                            ' Call EnumFields to print the contents of  
                            ' the Recordset. Specify field width = 12. 
                            EnumFields rst, 12 
                         
                            dbs.Close 
                         
                        End Sub
                    

                    המקור מכאן. הוא עושה שאילתת ספירת שורות.

                    הוא בהתחלה מקבל טבלה וירטואלית המכילה את תוצאת השאילתא שלך, עם שורה אחת.

                    ואז הוא ניגש אל השורה האחרונה שלה עם rst.MoveLast

                    כמו"כ בשאילתא רגילה אתה יכול לקבל את התוכן ע"י גישה לשדות (=העמודות) באחת משתי האופציות דלהלן (הראשונה סימן קראה עם שם השדה, והשניה קריאה למספר העמודה)

                    strText = rs!AText
                    strText = rs.Fields(1)
                    
                    M תגובה 1 תגובה אחרונה
                    0
                    • M מנותק
                      M מנותק
                      moshe11
                      השיב לchagold ב נערך לאחרונה על ידי
                      #10

                      @chagold אוקיי תודה לכולם הבעיה נפתרה!!
                      @אוריי התותח השקיע המון ועזר!

                      תגובה 1 תגובה אחרונה
                      1
                      • dovidD dovid העביר נושא זה מ-תכנות ב-

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום