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

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

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

איך לכתוב ל CSV שדה שמכיל ,

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 195 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Y מנותק
    Y מנותק
    yits
    כתב ב נערך לאחרונה על ידי yits
    #1

    בשביל לעבור על מאפיינים של טופס ופקד באקסס,
    כדי לראות מי יושפע כתוצאה של שינוי במבנה ה DB או קוד VBA
    אני מנסה להשתמש בפונקציה שתכתוב ל CSV את כל הפרמטרים.

    הבעיה היא כשיש לי מאפיין כזה:

    =DLookUp("int","settings","id=2")
    

    וזה הפונקציה שיוצרת את ה CSV

    Public Sub LoopFormProps()
        On Error GoTo err_Handler
        Dim frmLoop As Object
        Dim ctrl As Control
        Dim propLoop As Property
        Dim strFormName As String
        Dim s As String
        Dim n As Integer
        n = FreeFile()
        Open "C:\AnyFolder\Version\Beta\Ctl.csv" For Output As #n
        s = "Form.NAME,Ctrl.NAME,Prop.NAME,Prop.value"
        Print #n, s ' write to file
        
        '    For Each frmLoop In CurrentProject.AllForms
        strFormName = "Settings" 'frmLoop.NAME
        DoCmd.OpenForm strFormName, acDesign, , , , acHidden
        With Forms(strFormName)
            For Each propLoop In .Properties
                s = .NAME & ",Form," & propLoop.NAME & "," & propLoop.value
                'Debug.Print s ' write to immediate
                Print #n, s ' write to file
            Next
            For Each ctrl In .Controls
                For Each propLoop In ctrl.Properties
                    s = .NAME & "," & ctrl.NAME & "," & propLoop.NAME & "," & """" & propLoop.value & """"
                    Print #n, s ' write to file
                Next
            Next
        End With
        DoCmd.Close acForm, strFormName
        '    Next
        Close #n
        Exit Sub
    err_Handler:
        Select Case err.Number
            Case 2186
                'Property not available in design view
                Resume Next
            Case Else
                MsgBox "Err: " & err.Number & " - " & err.Description
                Resume Next
        End Select
        Close #n
    End Sub
    

    לקניה והנחות ב KSP כנסו מכאן.
    למוצרים עם הנחה מכאן.

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

      @yits
      תנסה לעטוף את הערך בגרשיים.
      או לחילופין תשתמש במזהה אחר כדי להפריד ביו שדות. לדוגמא |

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

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

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

        @clickone אמר באיך לכתוב ל CSV שדה שמכיל ,:

        תנסה לעטוף את הערך בגרשיים.

        הבעיה שיש בתוך ה"ערך" גם גרשיים.

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

        s = .NAME & "," & ctrl.NAME & "," & propLoop.NAME & "," & """" & Replace(Nz(propLoop.value), """", """""") & """"
        

        לקניה והנחות ב KSP כנסו מכאן.
        למוצרים עם הנחה מכאן.

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

          @clickone
          אגב בתור משתמש אקסס VBA בעבר אולי זה יעניין אותך.

          היה לי טבלה בשם settings שהכילה את ההגדרות, שיניתי לקובץ INI.

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

          If propLoop.NAME = "DefaultValue" Then
              DoEvents
              Debug.Print "Me." & ctrl.NAME & ".DefaultValue = " propLoop.value
              propLoop.value = ""
          End If
          

          לקניה והנחות ב KSP כנסו מכאן.
          למוצרים עם הנחה מכאן.

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

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

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

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