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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
א

ארי

@ארי
אודות
פוסטים
458
נושאים
86
שיתופים
0
קבוצות
0
עוקבים
2
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • קבלת ערך Enum ממספר - VBA
    א ארי

    @Y-Excel-Access אכן במקרה כזה הקוד לא יעבוד.
    אמנם הוא לא מחזיר שגיאה, אבל גם לא את הערך המבוקש.

    תכנות

  • שערים יציגים מבנק ישראל - VBA אקסס
    א ארי

    ערב טוב.
    לאחר עדכון הAPI של בנק ישראל לקבלת שערי חליפין, יצרתי קוד VBA לקבלת הנתונים העדכניים.
    מצורף לתועלת הציבור, וכמובן אשמח לכל הערה!

    Option Compare Database
    Option Explicit
    
    Public Enum StrCurr
        USD = 1
        GBP = 2
        SEK = 3
        CHF = 4
        CAD = 5
        NZD = 6
        DKK = 7
        SGD = 8
        HKD = 9
        ZAR = 10
        AUD = 11
        EUR = 12
        JOD = 13
        NOK = 14
        JPY = 15
        RUB = 16
        PLN = 17
        MXN = 18
        CZK = 19
        TRY = 20
        LBP = 21
        EGP = 22
        HUF = 23
        INR = 24
        CNY = 25
    End Enum
    
    Public Type Rate
        Sum As Double
        CuDate As Date
    End Type
    
    Public Function test()
    Dim Rates As Rate
    
    Rates = GetExchangeRates
    
    With Rates
        Debug.Print .CuDate
        Debug.Print .Sum
    End With
    
    End Function
    
    Public Function GetExchangeRates(Optional Dtdate As Date, Optional StrCurr As StrCurr = USD) As Rate
    Dim str As String
    Dim Json As Object
    Dim item As Variant
    Dim element As Variant
    Dim CurrName As String
    Dim Sum As Double
        Dim i As String
    
    If Dtdate = "00:00:00" Then Dtdate = Date
    
    Select Case StrCurr
        Case 1: CurrName = "USD"
        Case 2: CurrName = "GBP"
        Case 3: CurrName = "SEK"
        Case 4: CurrName = "CHF"
        Case 5: CurrName = "CAD"
        Case 6: CurrName = "NZD"
        Case 7: CurrName = "DKK"
        Case 8: CurrName = "SGD"
        Case 9: CurrName = "HKD"
        Case 10: CurrName = "ZAR"
        Case 11: CurrName = "AUD"
        Case 12: CurrName = "EUR"
        Case 13: CurrName = "JOD"
        Case 14: CurrName = "NOK"
        Case 15: CurrName = "JPY"
        Case 16: CurrName = "RUB"
        Case 17: CurrName = "PLN"
        Case 18: CurrName = "MXN"
        Case 19: CurrName = "CZK"
        Case 20: CurrName = "TRY"
        Case 21: CurrName = "LBP"
        Case 22: CurrName = "EGP"
        Case 23: CurrName = "HUF"
        Case 24: CurrName = "INR"
        Case 25: CurrName = "CNY"
        Case Else: CurrName = ""
    End Select
    
    Select Case CurrName
        Case ""
            MsgBox "קוד מטבע לא חוקי!", vbCritical + vbMsgBoxRtlReading + vbMsgBoxRight
        Case Else
            
            str = "https://edge.boi.gov.il/FusionEdgeServer/sdmx/v2/data/dataflow/BOI.STATISTICS/EXR/1.0/RER_" & CurrName & "_ILS?startperiod=" & Format(Dtdate - 7, "YYYY-MM-DD") & "&endperiod=" & Format(Dtdate, "YYYY-MM-DD") & "&format=sdmx-json"
                    
            With CreateObject("MSXML2.ServerXMLHTTP.6.0")
                .Open "GET", str, False
                .send
                str = .responseText
            End With
    
            Set Json = JsonConverter.ParseJson(str)
            
            
            For Each item In Json("data")("dataSets")(1)("series")("0:0:0:0:0:0")("observations")
                GetExchangeRates.Sum = Json("data")("dataSets")(1)("series")("0:0:0:0:0:0")("observations")(item)(1)
            Next item
            
            For Each item In Json("data")("structure")("dimensions")("observation")(1)("values")
                GetExchangeRates.CuDate = item("name")
            Next item
        End Select
        
    End Function
    
    תכנות

  • קבלת ערך Enum ממספר - VBA
    א ארי

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

    Option Compare Database
    Option Explicit
    
    Public Enum EnumTest
        a = 1
        b = 2
        c = 3
        E = 15
    End Enum
    
    Public Function FindEnumString(EnumNum As String, EnumName As String, Optional ModuleName As String) As String
    Dim ModStr As String
    Dim EnumStr() As String
    Dim i
    
    If ModuleName = "" Then ModuleName = VBE.ActiveCodePane.CodeModule
    
    ModStr = VBE.ActiveVBProject.VBComponents.item(ModuleName).CodeModule.Lines(1, VBE.ActiveVBProject.VBComponents.item(ModuleName).CodeModule.CountOfLines)
    ModStr = Mid(ModStr, InStr(1, ModStr, "Enum " & EnumName) + Len("Enum " & EnumName), InStr(1, ModStr, "End Enum") - (InStr(1, ModStr, "Enum " & EnumName) + Len("Enum " & EnumName)))
    
    EnumStr = Split(ModStr, vbCrLf)
    For i = LBound(EnumStr) To UBound(EnumStr)
        If Trim(Right(EnumStr(i), Len(EnumStr(i)) - InStr(1, EnumStr(i), "="))) = EnumNum Then
            FindEnumString = Trim(Left(EnumStr(i), InStr(1, EnumStr(i), "=") - 1))
        End If
    Next i
    End Function
    
    Public Function test()
    Dim En As String
    En = EnumTest.b
    
    Debug.Print En & " (" & FindEnumString(En, "EnumTest") & ")"
    End Function
    
    תכנות

  • חילוץ נתון ממחרוזת JSON - אקסס
    א ארי

    @dovid תודה!
    עובד מצוין!!!
    שבת שלום.

    תכנות

  • חילוץ נתון ממחרוזת JSON - אקסס
    א ארי

    @dovid לא עובד... 😞

    17e2283a-0504-45fc-87b8-74dc09304b6a-image.png

    תכנות

  • חילוץ נתון ממחרוזת JSON - אקסס
    א ארי

    @dovid לא עוזר.
    הקוד שלי הוא כך:

    Dim str As String
    Dim Json As Object
    Dim element As Variant
    
    str = SendGet("https://edge.boi.gov.il/FusionEdgeServer/sdmx/v2/data/dataflow/BOI.STATISTICS/EXR/1.0/RER_USD_ILS?startperiod=2023-01-01&endperiod=2023-01-06&format=sdmx-json")
    
    Set Json = JsonConverter.ParseJson(str)
    For Each element In Json
        Debug.Print element("data")("dataSets")(1)("series")("0:0:0:0:0:0")("observations")("2")
    Next element
    

    ואני מקבל שגיאה
    bdb7eadf-ea99-4730-98fc-04d0a48839e8-image.png
    תודה.

    תכנות

  • חילוץ נתון ממחרוזת JSON - אקסס
    א ארי

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

    {
    	"meta": {
    		"id": "IDREF2232d456-2a97-43fd-8dda-921bebed16c8",
    		"prepared": "2023-01-05T15:30:43",
    		"test": false,
    		"datasetId": "a8e45406-dcaf-4418-a21d-3228709d25f0",
    		"sender": {
    			"id": "UNKNOWN"
    		},
    		"receiver": {
    			"id": "guest"
    		},
    		"links": [{
    			"rel": "self",
    			"href": "/data/dataflow/BOI.STATISTICS/EXR/1.0/RER_USD_ILS?endperiod=2023-01-06&format=sdmx-json&startperiod=2023-01-01",
    			"uri": "https://raw.githubusercontent.com/sdmx-twg/sdmx-json/develop/structure-message/tools/schemas/1.0/sdmx-json-structure-schema.json"
    		}]
    	},
    	"data": {
    		"dataSets": [{
    			"links": [{
    				"rel": "dataflow",
    				"urn": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=BOI.STATISTICS:EXR(1.0)"
    			}],
    			"action": "Information",
    			"series": {
    				"0:0:0:0:0:0": {
    					"attributes": [0, 0, 0, 0, 0, null],
    					"observations": {
    						"0": ["3.532"],
    						"1": ["3.527"],
    						"2": ["3.529"]
    					}
    				}
    			}
    		}],
    		"structure": {
    			"links": [{
    				"rel": "dataflow",
    				"urn": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=BOI.STATISTICS:EXR(1.0)"
    			}, {
    				"rel": "datastructure",
    				"urn": "urn:sdmx:org.sdmx.infomodel.datastructure.DataStructure=BOI.STATISTICS:EXR(1.0)"
    			}],
    			"name": "שערי חליפין",
    			"names": {
    				"he": "שערי חליפין"
    			},
    			"dimensions": {
    				"dataset": [],
    				"series": [{
    					"id": "SERIES_CODE",
    					"name": "שם סדרה",
    					"keyPosition": 0,
    					"role": null,
    					"values": [{
    						"id": "RER_USD_ILS",
    						"name": "שער יציג דולר ארה\"ב - שקל"
    					}]
    				}, {
    					"id": "FREQ",
    					"name": "תדירות",
    					"keyPosition": 1,
    					"role": null,
    					"values": [{
    						"id": "D",
    						"name": "יומי"
    					}]
    				}, {
    					"id": "BASE_CURRENCY",
    					"name": "מטבע בסיס",
    					"keyPosition": 2,
    					"role": null,
    					"values": [{
    						"id": "USD",
    						"name": "דולר ארה\"ב"
    					}]
    				}, {
    					"id": "COUNTER_CURRENCY",
    					"name": "מטבע נגדי",
    					"keyPosition": 3,
    					"role": null,
    					"values": [{
    						"id": "ILS",
    						"name": "ש\"ח"
    					}]
    				}, {
    					"id": "UNIT_MEASURE",
    					"name": "יחידות מידה",
    					"keyPosition": 4,
    					"role": null,
    					"values": [{
    						"id": "ILS",
    						"name": "ש\"ח"
    					}]
    				}, {
    					"id": "DATA_TYPE",
    					"name": "סוג נתון",
    					"keyPosition": 5,
    					"role": null,
    					"values": [{
    						"id": "OF00",
    						"name": "שער יציג"
    					}]
    				}],
    				"observation": [{
    					"id": "TIME_PERIOD",
    					"name": "Time period",
    					"description": "The period of time or point in time to which the measured observation refers.",
    					"keyPosition": 6,
    					"role": "time",
    					"values": [{
    						"start": "2023-01-03T00:00:00",
    						"end": "2023-01-03T23:59:59",
    						"id": "2023-01-03",
    						"name": "2023-01-03"
    					}, {
    						"start": "2023-01-04T00:00:00",
    						"end": "2023-01-04T23:59:59",
    						"id": "2023-01-04",
    						"name": "2023-01-04"
    					}, {
    						"start": "2023-01-05T00:00:00",
    						"end": "2023-01-05T23:59:59",
    						"id": "2023-01-05",
    						"name": "2023-01-05"
    					}]
    				}]
    			},
    			"attributes": {
    				"dataset": [],
    				"series": [{
    					"id": "DATA_SOURCE",
    					"name": "מקור נתונים",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": [{
    						"id": "BOI_MRKT",
    						"name": "בנק ישראל - חטיבת השווקים"
    					}]
    				}, {
    					"id": "TIME_COLLECT",
    					"name": "אופן חישוב בתקופת זמן",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": [{
    						"id": "V",
    						"name": "אחר"
    					}]
    				}, {
    					"id": "CONF_STATUS",
    					"name": "סיווג סודיות",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": [{
    						"id": "F",
    						"name": "לא סודי"
    					}]
    				}, {
    					"id": "PUB_WEBSITE",
    					"name": "פרסום באתר",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": [{
    						"id": "Y",
    						"name": "כן"
    					}]
    				}, {
    					"id": "UNIT_MULT",
    					"name": "מכפיל יחידות",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": [{
    						"id": "0",
    						"name": "יחידות"
    					}]
    				}, {
    					"id": "COMMENTS",
    					"name": "הערות",
    					"relationship": {
    						"dimensions": ["SERIES_CODE", "FREQ", "BASE_CURRENCY", "COUNTER_CURRENCY", "UNIT_MEASURE"]
    					},
    					"role": null,
    					"values": []
    				}],
    				"observation": []
    			}
    		}
    	}
    }
    

    כעת אני מנסה לחלץ את הנתונים שנמצאים בערך "observations" (ליתר דיוק את הערך האחרון שיש שם), אני ממיר את הJSON עם JsonConverter.ParseJson אבל אני לא מצליח לגשת לנתונים האלו.
    ניסיתי משהו כמו ("data")("dataSets")("series")("0:0:0:0:0:0")("observations")("2"), אבל חוזר לי שגיאה על זה.
    מישהו יודע מה אני צריך לכתוב בשביל להגיע אליהם?
    תודה!

    תכנות

  • טיפול בשגיאה VBA אקסס
    א ארי

    מה שכרגע עשיתי זה אחרי שאני מוסיף מספור שורות בשביל הפונקציה Erl כתבתי ככה:

    ErrStr = VBE.ActiveCodePane.CodeModule.Lines(1, VBE.ActiveCodePane.CodeModule.CountOfLines)
    ErrStr = Left(Mid(ErrStr, InStr(ErrStr, Erl & " ")), InStr(Mid(ErrStr, InStr(ErrStr, Erl & " ")), vbCrLf))
    Debug.Print "Error number: " & Err.Number & vbCrLf & "Description: " & Err.Description & vbCrLf & "Line: " & ErrStr
    

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

    תכנות

  • טיפול בשגיאה VBA אקסס
    א ארי

    @אבי אתה משתמש בזה?
    כי הורדתי את הקובץ והתקנתי ולא קרה כלום, הוא רק העתיק לי שתי קבצי DLL למחשב וזהו.
    איך משתמשים בזה?
    תודה.

    תכנות

  • טיפול בשגיאה VBA אקסס
    א ארי

    @אבי תודה.
    אבל עקב כך שאני לא הולך להשקיע 200$ בפיצ'ר הזה (במיוחד שזה תוסף ולא קוד), יש למישהו רעיון זול יותר?
    תודה מראש.

    תכנות

  • טיפול בשגיאה VBA אקסס
    א ארי

    צהריים טובים.
    אני רוצה לכתוב קוד באקסס שאם מתרחשת שגיאה במהלך הריצה הוא יקפיץ הודעה עם פירוט השגיאה והשורה שבה התרחשה השגיאה.
    את מספר השגיאה אני מוצא פשוט עם Err.Number, ואת התיאור עם Err.Description.
    אבל אני רוצה שהוא יציג לי את מה שכתוב בשורה שבה הוא נתקע. האם יש דרך לעשות את זה?
    את מספר השגיאה הבנתי שאפשר עם פונקציית Erl ולמספר את השורות בקוד, אבל אני רוצה שהוא גם יציג לי את כל השורה.
    תודה רבה!

    תכנות

  • שאלה באקסל
    א ארי

    @Y-Excel-Access תודה!
    בשביל לקצר תהליכים מצאתי שאפשר להגדיר את זה גם כשעומדים על הטבלת Pivot, בתפריט עיצוב>פריסת דוח>הצג בצורת טבלה, והוא מסדר את הנתונים כמו שאתה הבאת.

    תוכנה

  • שאלה באקסל
    א ארי

    @amik אולי קצת תחכים אותנו איך עושים את זה?
    איך מגדירים כטבלה שיציג את כל השורות יחיד ולא שם פרטי מתחת לשם משפחה?
    לי זה יוצא ככה:
    e20cd3c1-045d-417e-bb25-33c761931e1c-image.png

    תודה!

    תוכנה

  • שאלה באקסל
    א ארי

    @שוהם307 אני לא מספיק מתמצא בPivot בשביל זה.
    סורי.

    תוכנה

  • שאלה באקסל
    א ארי

    @one1010 למיטב זכרוני sumif עובד רק עם מספרים.
    ראית את הנוסחה שהבאתי למעלה? משהו חסר בה?

    תוכנה

  • שאלה באקסל
    א ארי

    @one1010 ואיך זה קשור לשרשור הנוכחי?

    תוכנה

  • שאלה באקסל
    א ארי

    @שוהם307 אולי זה יותר מועיל לך.
    דוגמא.xlsx

    תוכנה

  • שאלה באקסל
    א ארי

    @שוהם307 משהו כזה?
    1672082603401-דוגמה.xlsx

    תוכנה

  • שאלה באקסל
    א ארי

    @שוהם307 אולי תצרף את מה שעשית שנוכל לעזור.

    תוכנה

  • שימוש בTAPI דרך VBA אקסס
    א ארי

    @mekev תודה!
    את החלק הראשון אני יודע.
    והשני בהחלט נשמע כמו משהו אפשרי.
    אבדוק את זה.
    שוב תודה.

    תכנות
  • 1
  • 2
  • 10
  • 11
  • 12
  • 13
  • 14
  • 22
  • 23
  • 12 / 23
  • התחברות

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

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