@ארי כתב בהדפסת דוחות ממספר עד מספר | אקסס:
ובדוח אתה עושה קיבוץ לפי מספר איזור עם כותרת תחתונה. ובכותרת תחתונה של המספר איזור אתה מגדיר 'כפה עמוד חדש' לאחר מקטע.
@אוריי ניסית את זה?
הפורום כעת לקריאה בלבד, לקריאה נוספת.
@ארי כתב בהדפסת דוחות ממספר עד מספר | אקסס:
ובדוח אתה עושה קיבוץ לפי מספר איזור עם כותרת תחתונה. ובכותרת תחתונה של המספר איזור אתה מגדיר 'כפה עמוד חדש' לאחר מקטע.
@אוריי ניסית את זה?
@חייםיודלביץ כתב בקיצורי מקלדת באקסס:
ניתן גם להוסיף קיצורי מקשים שיפעלו בכל חלון האקסס ללא שיוך הקיצור לטופס.
אתה יודע האם יש אפשרות ללכוד דרך המאקרו הזה כל לחיצה על קונטרול לדוג'?
אני יסביר, אני הייתי רוצה להשתמש במאקרו הזה בשביל למנוע מהמשתמש בתוכנה ללחוץ על צירופי מקשים עם קונטול או שיפט וכדו' כדי למנוע ממנו לצאת מהתוכנה.
האם יש אפשרות לעשות איזה קיצור מקשים כללי לכל מה שמכיל קונטרול?
תודה.
Function SendRequest()
Dim URL As String
Dim objXmlHttp As Object
Dim strRet As String
Set objXmlHttp = CreateObject("MSXML2.XMLHTTP")
URL = "https://kesherhk.info/ConnectToKesher/ConnectToKesher?userName=XXXXXXX&password=XXXXXXXXXXX&func=GetTrans&fromDate=02/18/2023&toDate=02/20/2023&format=json"
objXmlHttp.Open "GET", URL, False
objXmlHttp.send
Debug.Print objXmlHttp.ResponseText
objXmlHttp.abort
Set objXmlHttp = Nothing
End Function
הקוד הזה עובד מצוין.
@ivrtikshoret זה הקישור שלי
https://kesherhk.info/ConnectToKesher/ConnectToKesher?userName=XXXXXXXX&password=XXXXXXXXXXXX&func=GetTrans&fromDate=02/15/2023&toDate=02/15/2023&format=json
בדפדפן אני אכן מכניס את הכתובת url למעלה בשורת החיפוש.
גם בpostman (ובקוד VBA) אני שולח דרך GET.
זה מה שנשלח בדפדפן:

וזה מה שאני מקבל חזרה
<Error>
<Message>An error has occurred.</Message>
</Error>
ניסיתי לשחק בpostman עם הנתונים, ורק כשהכנסתי גם את הערך של Accept חזרה שגיאה.
תודה.
שכחתי לציין ואולי זה רלוונטי, שאני מצפה לקבל חזרה מחרוזת json מהשרת.
@ivrtikshoret פשוט מכניס כתובת url
שלום וברכה.
יש לי שגיאה משונה במחשב....
יש לי כתובת לשליחת בקשת API - GET, וכשאני שולח אותה בדפדפן חוזרת שגיאה 500 Internal Server Error.
אבל אם אני שולח את אותה בקשה בדיוק דרך VBA באקסס או דרך postman זה עובד מצוין.
חפרתי קצת בpostman וגיליתי שכשאני שולח דרך הדפדפן נשלח גם Headers בשם Accept עם הערך הזה:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
אבל בpostman הוא לא נשלח, ואם אני מוסיף אותו ידנית לpostman חוזרת שגיאה כנ"ל.
א. מה אומר הפרמטר הזה? וב. איך אני דואג שהוא לא יישלח גם בדפדפן?
ניסיתי לנקות מטמון או עוגיות וזה לא עזר.
תודה רבה!
@clickone כתב בשגיאה בשליחת API - אקסס:
בדיקה פשוטה שאפשר לעשות זה התקנת מחשב נקי ובדיקה, או בדיקה של הרצת הקוד במחשב אחר
כמו שכתבתי למעלה הקוד עובד בכל מחשב אחר.
אני יועד בבירור שהAPI הזה בטוח ותקין, ואין לי שום סיבה לחשוב שמשהו שם לא מאובטח.
להמשיך עם התיקון שנעשה וזהו? או להמשיך לחפור על הנושא?
תודה לכולם!
@OdedDvir כתב בשגיאה בשליחת API - אקסס:
@ארי נסה להוסיף גם את הכותרת הבאה:
oHttp.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
לא עזר
@dovid כתב בשגיאה בשליחת API - אקסס:
objHTTP.SetOption 2, objHTTP.GetOption(2)
עזר!!!
תודה!
עכשין רק בשביל הידע של אחד שממש לא מבין ברשתות וSSL.... מה עשיתי שם?
תודה.
Dim oHttp As MSXML2.ServerXMLHTTP60
Dim sURL As String
Dim Body As String
Body = "{ ""Details"":{""ExternalIdentifier"":null,""NoVAT"":null,""SearchMode"":null,"""
Body = Body & "Name"":""" & name & """,""Phone"":" & Phone & ",""EmailAddress"":" & Mail & ","""
Body = Body & "City"":" & City & ",""Address"":" & Add & ",""ZipCode"":null,"""
Body = Body & "CompanyNumber"":" & tz & ",""ID"":null,""Folder"":null},"""
Body = Body & "Credentials"":{""CompanyID"":12345678,""APIKey"":""XXXXXXXXXXXXXXX""},""ResponseLanguage"":null}"""
Set oHttp = New ServerXMLHTTP60
sURL = "https://www.myofficeguy.com/api/accounting/customers/create/"
oHttp.Open "POST", sURL, False
oHttp.setRequestHeader "Accept", "text/plain"
oHttp.setRequestHeader "Content-type", "application/json-patch+json"
oHttp.send (Body)
Customers = oHttp.responseText
@mekev לא נשלח פרמטר של תאריך.
זה הפרמטרים שנשלחים (מתוך הדוגמא באתר).
{
"Details": {
"ExternalIdentifier": null,
"NoVAT": null,
"SearchMode": null,
"Name": "Danny Dean",
"Phone": "050-1234567",
"EmailAddress": "danny@dean.com",
"City": null,
"Address": null,
"ZipCode": null,
"CompanyNumber": "514000123",
"ID": null,
"Folder": null
},
"Credentials": {
"CompanyID": 12345678,
"APIKey": "AsOUq8u8Mk80G4IZ7AZEYhKccOEzHy9HQBNuf41jBGN6mekFIN"
},
"ResponseLanguage": null
}
זה בקשה להוספת לקוח במערכת (לא של הנפקת קבלה בפועל)
תודה!
שלום וברכה.
יש לי אתר של הנפקת קבלות שיש לו API לשליחת בקשה, ובאתר שלהם יש דוגמא לשימוש בAPI. כשאני ממלא שם את כל הפרטים זה עובד מצוין.
אמנם כשאני מנסה להשתמש בAPI הזה דרך אקסס זה מחזיר לי את השגיאה הבאה:

יצויין שאם אני שולח את הבקשה דרך הדוגמא באתר אני רואה בcontrol (F12) את הפרטים של הבקשה והם בדיוק כמו שאני שולח.
יותר מזה קשה, שבכל מחשב אחר הקוד באקסס עובד מצוין, יש רק מחשב אחד שבו דרך האתר זה עובד ודרך הקוד לא.
מה יכולה להיות הבעיה?
תודה רבה!
@hp079 לפי הדוגמא שלך זה הקוד שאתה צריך
Private Sub פקודה16_Click()
Dim DynamicCondition As New Collection
If Not IsNull(ts_active) Then DynamicCondition.Add "פעיל=" & ts_active
If Not IsNull(ts_conected) Then DynamicCondition.Add "מחובר=" & ts_active
If Len(txt_sug) > 0 Then DynamicCondition.Add "סוג='" & CStr(txt_sug) & "'"
If Len(txt_name) > 0 Then DynamicCondition.Add "שם='" & CStr(txt_name) & "'"
DoCmd.OpenReport "דוח1", acViewPreview, WhereCondition:=JoinCollection(DynamicCondition, " AND ")
End Sub
Function JoinCollection(col As Collection, operator As String)
Dim result As String
For i = 1 To col.Count
If i <> 1 Then result = result & operator & " "
result = result & "(" & col(i) & ") "
Next
JoinCollection = result
End Function