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

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

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

אקסס - קוד VBA לחיפוש והחלפה

מתוזמן נעוץ נעול הועבר תוכנה
22 פוסטים 6 כותבים 647 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א איש פלוני

    @dovid לא עובד. (שגיאת תחביר אופרטור חסר בביטוי השאילתה).
    המילה מניפולציה באמצע? ככה?

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #13

    @איש-פלוני תואיל להדביק פה את לשון השאילתה אחרי השינויים שעשית.

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    א תגובה 1 תגובה אחרונה
    0
    • א איש פלוני

      @odeddvir אמר באקסס - קוד VBA לחיפוש והחלפה:

      ב. תבודד את המספר מהשדה המקורי אל שדה נפרד X על ידי מניפולציה על המחרוזת.
      ג. קשר את הטבלאות על ידי השדות X-OldValue

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

      מלאמ מנותק
      מלאמ מנותק
      מלא
      כתב ב נערך לאחרונה על ידי מלא
      #14

      @איש-פלוני
      או שתחלץ את המספר עם הפונקציה הזאת. (בהנחה שאין עוד מספרים בשדה)

      Public Function GetNumerals(str As String) As String
      
      Dim i As Integer
      
          For i = 1 To Len(str)
              If IsNumeric(Mid(str, i, 1)) Then
                  GetNumerals = GetNumerals & Mid(str, i, 1)
              End If
          Next i
      
      End Function
      תגובה 1 תגובה אחרונה
      1
      • dovidD dovid

        @איש-פלוני תואיל להדביק פה את לשון השאילתה אחרי השינויים שעשית.

        א מנותק
        א מנותק
        איש פלוני
        כתב ב נערך לאחרונה על ידי
        #15

        @dovid העתקתי את מה שכתבת לתוך שאילתה בתצוגה של SQL וזהו...

        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • א איש פלוני

          @dovid העתקתי את מה שכתבת לתוך שאילתה בתצוגה של SQL וזהו...

          OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          כתב ב נערך לאחרונה על ידי OdedDvir
          #16

          @איש-פלוני חסר פרמטר אחד בקוד של @dovid , צ"ל:

           SELECT Mid([kategHeara],1,InStr(1,[kategHeara],".")-1) as מניפולציה, kategHeara
           FROM katalogM 
          

          (עריכה: מה שכתבתי לעיל שגוי, עיין בהערת @dovid לקמן)

          dovidD תגובה 1 תגובה אחרונה
          1
          • OdedDvirO OdedDvir

            @איש-פלוני חסר פרמטר אחד בקוד של @dovid , צ"ל:

             SELECT Mid([kategHeara],1,InStr(1,[kategHeara],".")-1) as מניפולציה, kategHeara
             FROM katalogM 
            

            (עריכה: מה שכתבתי לעיל שגוי, עיין בהערת @dovid לקמן)

            dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #17

            @odeddvir זה אופציונלי.

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            OdedDvirO תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              @odeddvir זה אופציונלי.

              OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              כתב ב נערך לאחרונה על ידי
              #18

              @dovid אמר באקסס - קוד VBA לחיפוש והחלפה:

              זה אופציונלי.

              נכון, אבל צריך לכל הפחות להשמיט ולהשאיר מקום ריק, כך:

              SELECT Mid([kategHeara],1,InStr(,[kategHeara],".")-1) as מניפולציה, kategHeara
              FROM katalogM 
              
              dovidD תגובה 1 תגובה אחרונה
              1
              • OdedDvirO OdedDvir

                @dovid אמר באקסס - קוד VBA לחיפוש והחלפה:

                זה אופציונלי.

                נכון, אבל צריך לכל הפחות להשמיט ולהשאיר מקום ריק, כך:

                SELECT Mid([kategHeara],1,InStr(,[kategHeara],".")-1) as מניפולציה, kategHeara
                FROM katalogM 
                
                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי
                #19

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

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                OdedDvirO תגובה 1 תגובה אחרונה
                1
                • A מנותק
                  A מנותק
                  avi rz
                  כתב ב נערך לאחרונה על ידי
                  #20

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

                  Public Function GetGimatryya(str_ As Variant) As Long
                          
                      
                      Dim i As Long
                      Dim longht_ As Long
                      Dim Y As Long
                      Dim out As Long
                      Dim str_to_out As String
                      
                      longht_ = Len(Nz(str_, ""))
                      For i = 1 To longht_
                          str_to_out = Mid(str_, i, 1)
                          Select Case str_to_out
                              Case "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ר", "ש", "ת", "ך", "ם", "ן", "ף":
                                  Y = Asc(str_to_out) - 223
                              Case Else
                                  Y = 0
                          End Select
                          arr_ = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 20, 30, 40, 40, 50, 50, 60, 70, 80, 80, 90, 90, 100, 200, 300, 400)
                          out = Nz(out, 0) + arr_(Y)
                      Next i
                      GetGimatryya = out
                  End Function
                  
                  Public Function GetGimatryyaStr(str_ As Variant) As String
                          
                      
                      Dim i As Long
                      Dim longht_ As Long
                      Dim Y As Long
                      Dim out As String
                      Dim str_to_out As Long
                      
                      longht_ = Len(Nz(str_, ""))
                      arr_ = Array("", "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ק", "ר", "ש", "ת")
                      
                      For i = 1 To longht_
                          Select Case (longht_ + 1) - i
                              Case 1:
                                  str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                  out = Nz(out, 0) + arr_(str_to_out)
                              Case 2:
                                  str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                  out = Nz(out, 0) + arr_(str_to_out + 10)
                              Case Else
                                  str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                  out = Nz(out, 0) + arr_(str_to_out + 20)
                          End Select
                      Next i
                      GetGimatryyaStr = out
                  End Function
                  

                  אפשר לנסות

                  Debug.Print GetGimatryya("רמח")
                  Debug.Print GetGimatryyaStr(499)
                  
                  הללוהוה תגובה 1 תגובה אחרונה
                  1
                  • dovidD dovid

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

                    OdedDvirO מנותק
                    OdedDvirO מנותק
                    OdedDvir
                    כתב ב נערך לאחרונה על ידי OdedDvir
                    #21

                    @dovid אמר באקסס - קוד VBA לחיפוש והחלפה:

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

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

                    תגובה 1 תגובה אחרונה
                    2
                    • A avi rz

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

                      Public Function GetGimatryya(str_ As Variant) As Long
                              
                          
                          Dim i As Long
                          Dim longht_ As Long
                          Dim Y As Long
                          Dim out As Long
                          Dim str_to_out As String
                          
                          longht_ = Len(Nz(str_, ""))
                          For i = 1 To longht_
                              str_to_out = Mid(str_, i, 1)
                              Select Case str_to_out
                                  Case "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ר", "ש", "ת", "ך", "ם", "ן", "ף":
                                      Y = Asc(str_to_out) - 223
                                  Case Else
                                      Y = 0
                              End Select
                              arr_ = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 20, 30, 40, 40, 50, 50, 60, 70, 80, 80, 90, 90, 100, 200, 300, 400)
                              out = Nz(out, 0) + arr_(Y)
                          Next i
                          GetGimatryya = out
                      End Function
                      
                      Public Function GetGimatryyaStr(str_ As Variant) As String
                              
                          
                          Dim i As Long
                          Dim longht_ As Long
                          Dim Y As Long
                          Dim out As String
                          Dim str_to_out As Long
                          
                          longht_ = Len(Nz(str_, ""))
                          arr_ = Array("", "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ק", "ר", "ש", "ת")
                          
                          For i = 1 To longht_
                              Select Case (longht_ + 1) - i
                                  Case 1:
                                      str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                      out = Nz(out, 0) + arr_(str_to_out)
                                  Case 2:
                                      str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                      out = Nz(out, 0) + arr_(str_to_out + 10)
                                  Case Else
                                      str_to_out = CLng(IIf(Nz(Mid(str_, i, 1), "") = "", 0, Mid(str_, i, 1)))
                                      out = Nz(out, 0) + arr_(str_to_out + 20)
                              End Select
                          Next i
                          GetGimatryyaStr = out
                      End Function
                      

                      אפשר לנסות

                      Debug.Print GetGimatryya("רמח")
                      Debug.Print GetGimatryyaStr(499)
                      
                      הללוהוה מנותק
                      הללוהוה מנותק
                      הללוהו
                      כתב ב נערך לאחרונה על ידי
                      #22
                      פוסט זה נמחק!
                      תגובה 1 תגובה אחרונה
                      0
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


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

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

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