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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 197 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
    • Y yits

      בשביל לעבור על מאפיינים של טופס ופקד באקסס,
      כדי לראות מי יושפע כתוצאה של שינוי במבנה ה 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
      
      clickoneC מנותק
      clickoneC מנותק
      clickone
      כתב ב נערך לאחרונה על ידי clickone
      #2

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

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

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

      Y 2 תגובות תגובה אחרונה
      1
      • clickoneC clickone

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

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

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

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

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

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

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

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

        תגובה 1 תגובה אחרונה
        1
        • clickoneC clickone

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

          Y מנותק
          Y מנותק
          yits
          כתב ב נערך לאחרונה על ידי
          #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
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום