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

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

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

קריאה מאקסס ל-PROCEDURE

מתוזמן נעוץ נעול הועבר ארכיון code613m
8 פוסטים 2 כותבים 550 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    לא מצאתי קודים מובנים לי לצורך קריאה מאקסס (VBA) לstore procedure. (פרוצודורה גם עם פרמטרים IN וגם OUT)
    אשמח אם מישהו יעזור לי.
    תודה מראש.

    פורסם במקור בפורום CODE613 ב26/07/2016 23:10 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • C מנותק
      C מנותק
      code.net
      כתב ב נערך לאחרונה על ידי
      #2

      מצו"ב הפניה מתאימה לאשכול בנושא, עשיתי לו התאמה לMYSQL והוא עובד פרפקט.
      http://tchumim.com/post/6753

      פורסם במקור בפורום CODE613 ב27/07/2016 11:04 (+03:00)

      תגובה 1 תגובה אחרונה
      2
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        תודה, עזרת לי מאד.

        אצרף את הקוד הרלוונטי בADP (במודול modsql).

        Option Compare Database
        
        
        
        Public Function SetSqlServerRs(f As Form, Optional ssql As String = "")
        Dim rs As New ADODB.Recordset
            If Len(ssql) = 0 Then ssql = Eval(f.RecordSource)
            rs.CursorLocation = adUseClient
        
            rs.Open ssql, Application.CurrentProject.Connection, adOpenDynamic, adLockOptimistic
            Set f.Recordset = rs
        End Function
        
        
        
        Public Function ExecSQL(ssql As String)
        ' מטרת הפונקצייה להריץ קוד SQL בשרת
         Application.CurrentProject.Connection.Execute (ssql)
        End Function
        

        בנוסף, אשאל, כיצד מקבלים פרמטרים חזרה מהפקודה?
        תודה.

        פורסם במקור בפורום CODE613 ב28/07/2016 00:53 (+03:00)

        תגובה 1 תגובה אחרונה
        1
        • C מנותק
          C מנותק
          code.net
          כתב ב נערך לאחרונה על ידי
          #4

          נעשה סדר:
          פונקציה - מיועדת לשליפת נתונים.
          פרוצדורה - מיועדת להזנת + עדכון נתונים.

          לכן פונקציה זה מילה שאתה משלב בקוד והיא תביא לך את הנתונים שעומדים מאחוריה, ופרוצדורה זה משפט SQL שאתה "שולח" לשרת והיא מעדכנת נתונים.
          יש אכן דרך ללכוד את התשובות שהפרוצדורה החזירה, זה נעשה באמצעות הרצה של פונקציה מיד אחרי הרצת הפרוצדורה, כשהפרוצדורה מכניסה את הערכים לתוך פונקציה זמנית.
          לינק למאמר בנושא, המאמר הוא על MYSQL אך העקרונות דומים. https://internet-israel.com/מדריכים/mysql-מדריכים/stored-procedure-עם-משתנים-ב-mysql/
          תחת הכותרת "קבלת משתנים מה-Stored Procedure" תמצא מענה לשאלתך.

          פורסם במקור בפורום CODE613 ב28/07/2016 09:41 (+03:00)

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

            הבנתי את הקריאה בתוך הפרוצודורה. אבל איך שולפים את הפרמטרים למשתנים בVBA?

            פורסם במקור בפורום CODE613 ב28/07/2016 16:19 (+03:00)

            תגובה 1 תגובה אחרונה
            0
            • C מנותק
              C מנותק
              code.net
              כתב ב נערך לאחרונה על ידי
              #6

              דוגמא:

              מיד לאחר שאתה מריץ פרוצדורה:

              sqlstr = "getAges(@ageMAX, @ageAVG);"
              ExecSQL (sqlstr)
              

              תשלוף נתונים עם הפונקציה:

              sqlstr = "SELECT @ageMax, @ageAVG"
              Set OLErs = New ADODB.Recordset
                  OLErs.CursorLocation = adUseClient
                  OLErs.Open sqlstr, GetGlobalConnection
              

              התוצאה תהיה ערכת רשומות:

              +---------+---------+
              | @ageMax | @ageAVG |
              +---------+---------+
              | 22      | 42      |
              +---------+---------+
              

              פורסם במקור בפורום CODE613 ב28/07/2016 16:44 (+03:00)

              תגובה 1 תגובה אחרונה
              1
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                כתב ב נערך לאחרונה על ידי
                #7

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

                בדרך שהוזכרה לעיל, לא הבנתי עדיין איך זה בכלל היה אמור לעבוד בVB, כל עוד הוא שולח את הפקודה במחרוזת, אם כן על מה אמורים לעשות את הSELECT?

                ניסיתי בדרכים אחרות כאן וכאן וכאן, אבל גם כשהצלחתי לגשת לתוצאה הוא החזיר לי NUUL או שכלל הוא הכחיש את קיומם של שמות הפרמטרים שנשלחו או שהוחזרו.

                אשמח לעזרה...

                תודה.

                פורסם במקור בפורום CODE613 ב29/07/2016 01:54 (+03:00)

                תגובה 1 תגובה אחרונה
                0
                • C מנותק
                  C מנותק
                  code.net
                  כתב ב נערך לאחרונה על ידי
                  #8

                  עסקתי כעת בנושא, ומצאתי את המאמר הזה
                  אני חושב שהוא מדבר בדיוק על הנושא שבזמנו נשאר פתוח.
                  לא הצלחתי לממש את המתודה, אבל זו הדרך.

                  פורסם במקור בפורום CODE613 ב10/01/2017 16:31 (+02:00)

                  תגובה 1 תגובה אחרונה
                  1

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

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

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