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

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

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

פקודת DLookUp

מתוזמן נעוץ נעול הועבר תכנות
35 פוסטים 4 כותבים 2.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    השיב להכוכב שלנו ב נערך לאחרונה על ידי
    #2

    @הכוכב-שלנו

    1. א"א עם זה
      יש פונקציות הרחבה ברשת שנותנות יותר משורה אחת.
      או פשוט תעשה לופ על RS
    2. תשתמש בvbcrlf ולא רק vbcr
      או תשתמש בvbnewline שהוא שווה ערך לvbcrlf
    3. יש לך פרמטרים. איפה אתה נתקע?

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

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

      @clickone דבר ראשון אין לי מילים להודות לך על המוכנות שלך לעזור ועל העזרה.
      חוץ מעצם ההעזרה, זה מעודד!

      אני עם הארץ, ואם יש לך זמן

      1. מה זה לופ ומה זה RS?
      2. אני מבין שאוכל ללמוד בעז"ה.
      3. ב + לעשות הודעות מימין לשמאל, אישור ביטול וכד', וכך הפסיק שעושים בסוף לכתוב כותרת, הוא עושה הכל אדום.

      מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

      clickoneC 2 תגובות תגובה אחרונה
      0
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב להכוכב שלנו ב נערך לאחרונה על ידי
        #4

        @הכוכב-שלנו
        תוסיף מודול חדש

        Option Compare Database
        Private Const sApp = "כותרת קבועה"
        
        
        '----------------------------------------------------------------------
        ' AccessMsgBox
        '
        '   This calls the Access message box instead of to the VBA one.
        '   The Access input box supports Windows XP theming and bold
        '   message strings by using the following notation:
        '   AccessMsgBox "Text that will be bold. @Next line. @"
        '----------------------------------------------------------------------
        Function AccessMsgBox(Prompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String, Optional HelpFile As String = "", Optional Context As Long = 0, Optional AcApp As Access.Application) As VbMsgBoxResult
            ' Use the current application if one was not specified
            If AcApp Is Nothing Then Set AcApp = Application
            
            ' Build the MsgBox expression
            Dim strExpr As String
            strExpr = "MsgBox(" & Enquote(Prompt) & _
                                ", " & Buttons & _
                                IIf(Title = "", "", ", " & Enquote(CStr(Title)) & _
                                IIf(HelpFile = "", "", ", " & Enquote(HelpFile) & ", " & Context)) & _
                             ")"
                    
            ' Evaluate it
            AccessMsgBox = AcApp.Eval(strExpr)
        End Function
        
        '----------------------------------------------------------------------
        ' AccessInputBox
        '
        '   This calls the Access input box instead of to the VBA one.
        '   The Access input box supports Windows XP theming.
        '----------------------------------------------------------------------
        Function AccessInputBox(Prompt As String, Optional Title As String, Optional Default As String, Optional AcApp As Access.Application) As String
            ' Use the current application if one was not specified
            If AcApp Is Nothing Then Set AcApp = Application
            
            ' Build the InputBox expression
            Dim strExpr As String
            strExpr = "InputBox(" & Enquote(Prompt) & _
                                    ", " & Enquote(Title) & _
                                    ", " & Enquote(Default) & _
                                ")"
                    
            ' Evaluate it
            AccessInputBox = AcApp.Eval(strExpr)
        End Function
        
        '----------------------------------------------------------------------
        ' Enquote
        '
        '   Wraps the string in double quotes and escapes any double quotes
        '   within the string with double, double quotes.
        '----------------------------------------------------------------------
         Function Enquote(ByVal strText As String) As String
            Enquote = """" & Replace(strText, """", """""") & """"
        End Function
        
        
        Public Function msgok(Prompt As String, Optional Title As String = sApp)
        AccessMsgBox Prompt, vbInformation + vbMsgBoxRtlReading, Title
        End Function
        
        

        יש במודול הזה כמה פונקציות מעניינות

        1. msgok
          מטרת הפונקצייה לקבל טקסט ולהציג אותו במסגבוקס יפה יותר.
          שים לב שלא חייב לכתוב כותרת כל פעם מחדש.
          יש כותרת ברירת מחדל, שנמצאת במשתנה sApp בראש המודול.
          אם אתה רוצה לשבור שורות תעשה שטרודל בסוף השורה, אפילו בתוך הטקסט ממש. - זה טוב עד 2 שורות.

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

        3. AccessMsgBox
          כמו המסגבוקס הרגיל, רק שמציג הודעה יותר יפה (זה הודע פנימית של האקסס)
          הוא מקבל את אותם הפרמטרים של הmsgbox הרגיל

        4. AccessInputBox
          משמשת לקבלת קלט בסיסי מהמשתמש

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

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

          @clickone אין מילים!!!
          משיח יראה את הפורום!!!

          מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

          תגובה 1 תגובה אחרונה
          0
          • הכוכב שלנוה מנותק
            הכוכב שלנוה מנותק
            הכוכב שלנו
            השיב לclickone ב נערך לאחרונה על ידי
            #6

            @clickone נטרלת בכוונה את כמעט הכל?

            מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

            clickoneC תגובה 1 תגובה אחרונה
            0
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              השיב להכוכב שלנו ב נערך לאחרונה על ידי
              #7

              @הכוכב-שלנו אמר בפקודת DLookUp:

              ב + לעשות הודעות מימין לשמאל, אישור ביטול וכד', וכך הפסיק שעושים בסוף לכתוב כותרת, הוא עושה הכל אדום.

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

              הנה דוגמא להודעה בעברית עם יישור ימין שמאל

              MsgBox "הודעה בעברית מימין לשמאל",vbMsgBoxRight+vbMsgBoxRtlReading,"כותרת בעברית"
              

              והנה עם הסוג השני שהבאתי בהודעה הקודמת + שבירת שורה

              AccessMsgBox "הודעה בעברית מימין לשמאל@עם שבירת שורה@",vbMsgBoxRight+vbMsgBoxRtlReading,"כותרת בעברית"
              

              עוד משהו, בד"כ בפונקציות האלו, שזה מסתבך עם העברית אנגלית, אני בונה את הקריאה לפונקצייה בלי העברית, ואחרי שסיימתי, אני מכניס לתוך הגרשיים את הטקסט בעברית
              דוגמא:

              AccessMsgBox "",vbMsgBoxRight+vbMsgBoxRtlReading,""
              

              אח"כ אני מוסיף את העברית בפנים

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              תגובה 1 תגובה אחרונה
              3
              • clickoneC מנותק
                clickoneC מנותק
                clickone
                השיב להכוכב שלנו ב נערך לאחרונה על ידי
                #8

                @הכוכב-שלנו אמר בפקודת DLookUp:

                @clickone נטרלת בכוונה את כמעט הכל?

                מה שאתה רואה בירוק, זה כי הקוד שבפורום לא יודע ל"קרוא" קוד VBA
                תעשה העתק הדבק אליך למודול חדש. זה יעבוד לך
                בפורום הישן היה אפשר לבחות שפה להצגה ( @dovid אולי תסדר לנו גם כאן? בכ"ז זה פורום תיכנות 🙂 )

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                תגובה 1 תגובה אחרונה
                1
                • clickoneC מנותק
                  clickoneC מנותק
                  clickone
                  השיב להכוכב שלנו ב נערך לאחרונה על ידי
                  #9

                  @הכוכב-שלנו אמר בפקודת DLookUp:

                  איך מציגים יותר משורה אחת של טבלה.

                  Public Function ELookup(Expr As String, Domain As String, Optional Criteria As Variant, _
                      Optional OrderClause As Variant) As Variant
                  On Error GoTo Err_ELookup
                      'Purpose:   Faster and more flexible replacement for DLookup()
                      'Arguments: Same as DLookup, with additional Order By option.
                      'Return:    Value of the Expr if found, else Null.
                      '           Delimited list for multi-value field.
                      'Author:    Allen Browne. allen@allenbrowne.com
                      'Updated:   December 2006, to handle multi-value fields (Access 2007 and later.)
                      'Examples:
                      '           1. To find the last value, include DESC in the OrderClause, e.g.:
                      '               ELookup("[Surname] & [FirstName]", "tblClient", , "ClientID DESC")
                      '           2. To find the lowest non-null value of a field, use the Criteria, e.g.:
                      '               ELookup("ClientID", "tblClient", "Surname Is Not Null" , "Surname")
                      'Note:      Requires a reference to the DAO library.
                      Dim db As DAO.Database          'This database.
                      Dim rs As DAO.Recordset         'To retrieve the value to find.
                      Dim rsMVF As DAO.Recordset      'Child recordset to use for multi-value fields.
                      Dim varResult As Variant        'Return value for function.
                      Dim strSql As String            'SQL statement.
                      Dim strOut As String            'Output string to build up (multi-value field.)
                      Dim lngLen As Long              'Length of string.
                      Const strcSep = ","             'Separator between items in multi-value list.
                  
                      'Initialize to null.
                      varResult = Null
                  
                      'Build the SQL string.
                      strSql = "SELECT TOP 1 " & Expr & " FROM " & Domain
                      If Not IsMissing(Criteria) Then
                          strSql = strSql & " WHERE " & Criteria
                      End If
                      If Not IsMissing(OrderClause) Then
                          strSql = strSql & " ORDER BY " & OrderClause
                      End If
                      strSql = strSql & ";"
                  
                      'Lookup the value.
                      Set db = DBEngine(0)(0)
                      Set rs = db.OpenRecordset(strSql, dbOpenForwardOnly)
                      If rs.RecordCount > 0 Then
                          'Will be an object if multi-value field.
                          If VarType(rs(0)) = vbObject Then
                              Set rsMVF = rs(0).Value
                              Do While Not rsMVF.EOF
                                  If rs(0).Type = 101 Then        'dbAttachment
                                      strOut = strOut & rsMVF!FileName & strcSep
                                  Else
                                      strOut = strOut & rsMVF![Value].Value & strcSep
                                  End If
                                  rsMVF.MoveNext
                              Loop
                              'Remove trailing separator.
                              lngLen = Len(strOut) - Len(strcSep)
                              If lngLen > 0& Then
                                  varResult = Left(strOut, lngLen)
                              End If
                              Set rsMVF = Nothing
                          Else
                              'Not a multi-value field: just return the value.
                              varResult = rs(0)
                          End If
                      End If
                      rs.Close
                  
                      'Assign the return value.
                      ELookup = varResult
                  
                  Exit_ELookup:
                      Set rs = Nothing
                      Set db = Nothing
                      Exit Function
                  
                  Err_ELookup:
                      MsgBox Err.Description, vbExclamation, "ELookup Error " & Err.number
                      Resume Exit_ELookup
                  End Function
                  

                  מקור
                  http://allenbrowne.com/ser-42.html
                  זה אתר שאם אתה עם אקסס אני ממליץ מאד שתעבור עליו ועל דוגמאות הקודים אצלו.
                  למדתי משם המון!

                  אין טסט כמו פרודקשן.

                  המייל שלי urivpn@gmail.com

                  הכוכב שלנוה תגובה 1 תגובה אחרונה
                  4
                  • הכוכב שלנוה מנותק
                    הכוכב שלנוה מנותק
                    הכוכב שלנו
                    השיב לclickone ב נערך לאחרונה על ידי
                    #10

                    @clickone ושוב אין מילים!!!!!!

                    מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

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

                      @הכוכב-שלנו אגב, התחלת עם dlookup,אז זה פונקציה מאד איטית, וטוב להשתמש איתה רק במשהו ספציפי מאד לדוגמא בטופס שלא נורא אם יקח איזה חצי שניה - שניה, אבל כשאתה עושה משהו רציני כמו לולאות וכיו"ב, תעשה רק עם RS.

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

                        @clickone ממש תודה רבה רבה, משום מה רוב השורות נהיות אדומות, יכול להיות שזה בעיה כוללת
                        (בשני המודולים)

                        מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

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

                          @chagold אמר בפקודת DLookUp:

                          @הכוכב-שלנו אגב, התחלת עם dlookup,אז זה פונקציה מאד איטית, וטוב להשתמש איתה רק במשהו ספציפי מאד לדוגמא בטופס שלא נורא אם יקח איזה חצי שניה - שניה, אבל כשאתה עושה משהו רציני כמו לולאות וכיו"ב, תעשה רק עם RS.

                          ביקשתי גם מ@clickone תן לי כיוון מה זה RS? פונקצייה? יש לך דוגמא?

                          מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

                          תגובה 1 תגובה אחרונה
                          0
                          • הכוכב שלנוה מנותק
                            הכוכב שלנוה מנותק
                            הכוכב שלנו
                            השיב להכוכב שלנו ב נערך לאחרונה על ידי
                            #14

                            @הכוכב-שלנו אמר בפקודת DLookUp:

                            @clickone ממש תודה רבה רבה, משום מה רוב השורות נהיות אדומות, יכול להיות שזה בעיה כוללת
                            (בשני המודולים)

                            0_1528197348678_אדום.PNG

                            מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

                            clickoneC chagoldC 2 תגובות תגובה אחרונה
                            0
                            • clickoneC מנותק
                              clickoneC מנותק
                              clickone
                              השיב להכוכב שלנו ב נערך לאחרונה על ידי
                              #15

                              @הכוכב-שלנו אתה יכול למחוק או לשים בהערה את כל השורות שבאדום
                              משום מה אצלך התו של ההערה נמחק (או שאתה מחקת אותו)

                              אין טסט כמו פרודקשן.

                              המייל שלי urivpn@gmail.com

                              הכוכב שלנוה תגובה 1 תגובה אחרונה
                              1
                              • הכוכב שלנוה מנותק
                                הכוכב שלנוה מנותק
                                הכוכב שלנו
                                השיב לclickone ב נערך לאחרונה על ידי הכוכב שלנו
                                #16

                                @clickone אמר בפקודת DLookUp:

                                @הכוכב-שלנו אתה יכול למחוק או לשים בהערה את כל השורות שבאדום
                                משום מה אצלך התו של ההערה נמחק (או שאתה מחקת אותו)

                                איזה הערה? אתה מתכווין לגרש שהופך אותו לירוק?
                                אם זה ירוק אז זה מנוטרל, לא?
                                תודה

                                מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

                                clickoneC תגובה 1 תגובה אחרונה
                                0
                                • clickoneC מנותק
                                  clickoneC מנותק
                                  clickone
                                  השיב להכוכב שלנו ב נערך לאחרונה על ידי
                                  #17

                                  @הכוכב-שלנו תשים גרש בודד לפני כל שורה באדום זה יהפוך את זה להערה בקוד

                                  אין טסט כמו פרודקשן.

                                  המייל שלי urivpn@gmail.com

                                  הכוכב שלנוה תגובה 1 תגובה אחרונה
                                  0
                                  • הכוכב שלנוה מנותק
                                    הכוכב שלנוה מנותק
                                    הכוכב שלנו
                                    השיב לclickone ב נערך לאחרונה על ידי
                                    #18

                                    @clickone אמר בפקודת DLookUp:

                                    @הכוכב-שלנו תשים גרש בודד לפני כל שורה באדום זה יהפוך את זה להערה בקוד

                                    ערכתי את ההודעה
                                    תסביר לי בבקשה, יש כזה דבר "הערה בקוד" עוד מושג חדש בשבילי אם כן

                                    מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

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

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

                                      תסתכל בREFERENCES כדי שיצרף לך את הספריה הרלוונטית

                                      0_1528201926184_חישוב זמני עבודה - ריק.accdb

                                      הכוכב שלנוה 2 תגובות תגובה אחרונה
                                      2
                                      • clickoneC מנותק
                                        clickoneC מנותק
                                        clickone
                                        השיב להכוכב שלנו ב נערך לאחרונה על ידי clickone
                                        #20

                                        @הכוכב-שלנו
                                        כן
                                        כל שורה בצבע ירוק, היא הערה, והמהדר לא מתייחס אליה ולא מריץ אותה.
                                        בVB הערה מתחילה בגרש בודד

                                        '
                                        

                                        בשאר השפות זה בד"כ 2 לוכסנים //

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

                                        אין טסט כמו פרודקשן.

                                        המייל שלי urivpn@gmail.com

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

                                          @chagold תודה רבה לך. אני יעבור על הכל. אבל אם אני מבין נכון הRS זה הסך הכל, נכון?

                                          מעוניין לפעול בשביל תחבורה ציבורית! על כל רעיון תפנו אלי!!!

                                          chagoldC clickoneC 2 תגובות תגובה אחרונה
                                          0

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

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

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