בסוף כתבתי כך:
Me.רחוב.RowSource = "SELECT רחובות.רחוב, רחובות.עיר FROM רחובות WHERE (((רחובות.רחוב) Like ""*" & Replace(רחוב.Text, Chr(34), """""") & "*"") AND ((רחובות.עיר)=[Forms]![תורמים]![עיר]))"
קצת עקום אבל עובד...
בסוף כתבתי כך:
Me.רחוב.RowSource = "SELECT רחובות.רחוב, רחובות.עיר FROM רחובות WHERE (((רחובות.רחוב) Like ""*" & Replace(רחוב.Text, Chr(34), """""") & "*"") AND ((רחובות.עיר)=[Forms]![תורמים]![עיר]))"
קצת עקום אבל עובד...
@dovid תודה, זה עזר מאוד לשאילתות.
אבל יש לי עוד שימוש בזה לבניית מקור נתונים לתיבה משולבת.
הקוד הוא משהו כזה:
Me.רחוב.RowSource = "SELECT רחובות.רחוב, רחובות.עיר FROM רחובות WHERE (((רחובות.רחוב) Like ""*" & רחוב.Text & "*"") AND ((רחובות.עיר)=[Forms]![תורמים]![עיר]))"
ונועד לסנן לפי מה שהמשתמש מתחיל לכתוב בשדה.
יש איך לסדר את זה גם כאן?
תודה!
שלום וברכה.
יש לי טבלת אקסס של רשימת רחובות, ואני צריך שאילתה שתחפש רחוב לפי מה שהמשתמש מזין.
הבעיה היא שחלק מהרחובות מכילים גרש (') וחלק גרשים (").
מה שקורה זה שאם אני כותב בצורה כזו:
"SELECT * FROM רחובות WHERE רחוב = """ & me.רחוב & """"
אז כל רחוב שיש בו גרשיים מחזיר שגיאה.
ואם אני כותב כך:
"SELECT * FROM רחובות WHERE רחוב = '" & me.רחוב & "'"
אז כל רחוב שמכיל גרש בודד מחזיר שגיאה.
מה אפשר לעשות?
תודה רבה
תודה
שלום וברכה.
יש לי תוכנת אקסס שהDB שלה נמצא במיקום משותף, ומשתמשים בה שתי מחשבים ברשת מקומית.
כרגע במחשב הנוסף (לא המחשב עם הכונן פיזי) יש איטיות בתוכנה.
האם יש איך לשדרג את המהירות? והאם שדרוג של מהירות הרשת באינטרנט קשורה גם לרשת מקומית?
תודה רבה.
תודה!
@pcinfogmach הייתי ממליץ לך למחוק את התמונה, יש שם יותר מדי פרטים שלך...
שלום רב.
בהמשך לכאן
התחלתי ללמוד באתר https://codebox.co.il כרגע התחיל טוב.
רק רציתי לדעת, באיזה תוכנה המדריך שם משתמש לכתיבת הקוד?
כך שרואים בצד שמאל את הקוד, ובצד ימין את העמוד html.
תודה.
@יהודי-טוב אם אני מבין נכון את הקורסים שם, אני צריך להתחיל ללמוד מהקורס של HTML אח"כ CSS ואז את הקורס של FrontEnd וJS מתקדם.
אני צודק ביחס לאתר הזה?
ובאופן כללי, כך הדרך הנכונה ללמוד?
תודה!
@ארי כתב בהמלצה לקורס:
מדריך שבנה צעד אחרי צעד תוכנה
@יהודי-טוב @Sara-Rivka האתר שהבאתם הוא בסגנון של מה שכתבתי שאני מעדיף?
לא שאני מזלזל בקורסים אחרים, רק ניסיתי לחפש סגנון מסויים של לימוד.
תודה!
@OdedDvir אני אכן לא סגור על שפה מסוימת.
אני רק מחפש קורס בצורה שמושכת אותי (כמדריך לבניית תוכנה), ועדיף תוכנה בסגנון שנראה לי יותר מעניין (מסדי נתונים), ולא משחקי מחשב וכדו' (שנראה שבזה רוב המדריכים מתעסקים).
תודה!
זה תחביב?
כן. תחביב לשעות בין הסדרים, אבל אני משקיע בו זמן ומחשבה.
יש לך מטרה מסויימת?
האמת שלא... רק ללמוד דברים חדשים.
כמה זמן אתה מוכן להשקיע בזה?
כמה שצריך. לא הרבה שעות ביום, אבל לאורך זמן.
מהו תחום העניין שלך
עד עכשיו די התעסקתי רק במסדי נתונים, ונראה לי שהייתי רוצה גם להמשיך עם זה (אני רואה באינטרנט קורסים לתכנות לבניית משחקים, וממש לא מגרה אותי).
האם אתה שולט באנגלית וכמה?
די בסיסי לצערי.
תודה!
ערב טוב.
אני עובד כבר הרבה זמן עם אקסס וVBA, וכעת רוצה לנסות להתקדם הלאה (כן @dovid נשברתי...).
מחפש המלצה א. מה כדאי ללמוד. ב. איפה מומלץ ללמוד.
מניסיוני, קצת קשה לי עם קורסים שיש בהם מלא ידע בלי משהו מעשי למימוש. בעבר הרחוק למדתי אקסס דרך מדריך שבנה צעד אחרי צעד תוכנה, אמנם בסיסית למדי אבל ככה היה לי הכי קל ונוח ללמוד ולזכור את החומר.
האם יש משהו בסגנון זה לתוכנת 'אמיתי' יותר?
תודה רבה!
מצאתי אצלי משהו, אבל נראה לי די ישן, אז כנראה לא מתאים למה שהתחדש.
Public Function fCheckBankAccountValidity(lngBankNumber As Long, _
lngBranch As Long, _
lngAccount As Long) As Boolean
On Error GoTo Err_בדיקה
fCheckBankAccountValidity = 0
Dim lngRequiredAccountLength As Long
Dim lngTotal As Long
Dim strArrayAccount() As String
Dim strArrayBranch() As String
Dim strAccount As String
Dim strBranch As String
Select Case lngBankNumber
Case 10, 13, 34
lngRequiredAccountLength = 8
Case 12, 4
lngRequiredAccountLength = 6
Case 11, 17
lngRequiredAccountLength = 9
Case 20
lngRequiredAccountLength = 6
Case 31, 52
lngRequiredAccountLength = 9
Case 9
lngRequiredAccountLength = 9
Case 22
lngRequiredAccountLength = 9
Case 46
lngRequiredAccountLength = 9
Case 14
lngRequiredAccountLength = 9
Case 54
lngRequiredAccountLength = 9
End Select
strBranch = lngBranch
strAccount = String(lngRequiredAccountLength - Len(CStr(lngAccount)), "0") & CStr(lngAccount)
' strAccount = Right("0000000000" & CStr(lngAccount), lngRequiredAccountLength) ' This is an alternative to the previous line
strAccount = StrConv(strAccount, vbUnicode)
strArrayAccount = Split(strAccount, vbNullChar)
If lngBankNumber = 20 And lngBranch > 400 Then ' אם מספר הסניף בבנק מזרחי-טפחות גדול מ400
strBranch = CStr(lngBranch - 400) ' לפני החישובים יש להפחית 400
End If
If lngBankNumber = 20 And lngBranch < 400 Then ' אם מספר הסניף בבנק מזרחי-טפחות לא גדול מ400
strBranch = CStr(lngBranch) ' לפני החישובים אל תבצע כלום
End If
If lngBankNumber = 12 Or lngBankNumber = 4 Then
strBranch = lngBranch
End If
If Len(strBranch) < 3 Then
strBranch = String(3 - Len(strBranch), "0") & strBranch ' מוסיף אפסים להשלים ל3 ספרות
End If
strBranch = StrConv(strBranch, vbUnicode)
strArrayBranch = Split(strBranch, vbNullChar)
Select Case lngBankNumber
Case 10, 13, 34
lngTotal = CLng(strArrayBranch(0)) * 10 + _
CLng(strArrayBranch(1)) * 9 + _
CLng(strArrayBranch(2)) * 8 + _
CLng(strArrayAccount(0)) * 7 + _
CLng(strArrayAccount(1)) * 6 + _
CLng(strArrayAccount(2)) * 5 + _
CLng(strArrayAccount(3)) * 4 + _
CLng(strArrayAccount(4)) * 3 + _
CLng(strArrayAccount(5)) * 2 + _
right(lngAccount, 2)
Select Case right(lngTotal, 2)
Case 90, 72, 70, 60, 20
fCheckBankAccountValidity = 1
End Select
Case 12
lngTotal = CLng(strArrayBranch(0)) * 9 + _
CLng(strArrayBranch(1)) * 8 + _
CLng(strArrayBranch(2)) * 7 + _
CLng(strArrayAccount(0)) * 6 + _
CLng(strArrayAccount(1)) * 5 + _
CLng(strArrayAccount(2)) * 4 + _
CLng(strArrayAccount(3)) * 3 + _
CLng(strArrayAccount(4)) * 2 + _
CLng(strArrayAccount(5)) * 1
Select Case lngTotal Mod 11
Case 0, 2, 4, 6
fCheckBankAccountValidity = 1
Case Else
fCheckBankAccountValidity = 0
End Select
Case 4
lngTotal = CLng(strArrayBranch(0)) * 9 + _
CLng(strArrayBranch(1)) * 8 + _
CLng(strArrayBranch(2)) * 7 + _
CLng(strArrayAccount(0)) * 6 + _
CLng(strArrayAccount(1)) * 5 + _
CLng(strArrayAccount(2)) * 4 + _
CLng(strArrayAccount(3)) * 3 + _
CLng(strArrayAccount(4)) * 2 + _
CLng(strArrayAccount(5)) * 1
Select Case lngTotal Mod 11
Case 0, 2
fCheckBankAccountValidity = 1
Case Else
fCheckBankAccountValidity = 0
End Select
Case 11, 17
lngTotal = CLng(strArrayAccount(0)) * 9 + _
CLng(strArrayAccount(1)) * 8 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
Select Case lngTotal Mod 11
Case 0, 2, 4
fCheckBankAccountValidity = 1
End Select
Case 20
lngTotal = CLng(strArrayBranch(0)) * 9 + _
CLng(strArrayBranch(1)) * 8 + _
CLng(strArrayBranch(2)) * 7 + _
CLng(strArrayAccount(0)) * 6 + _
CLng(strArrayAccount(1)) * 5 + _
CLng(strArrayAccount(2)) * 4 + _
CLng(strArrayAccount(3)) * 3 + _
CLng(strArrayAccount(4)) * 2 + _
CLng(strArrayAccount(5)) * 1
Select Case lngTotal Mod 11
Case 0, 2, 4
fCheckBankAccountValidity = 1
End Select
Case 31, 52
lngTotal = CLng(strArrayAccount(0)) * 9 + _
CLng(strArrayAccount(1)) * 8 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
Select Case lngTotal Mod 11
Case 0
fCheckBankAccountValidity = 1
Case 6
fCheckBankAccountValidity = 1
Case Else
lngTotal = CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
Select Case lngTotal Mod 11
Case 0
fCheckBankAccountValidity = 1
Case 6
fCheckBankAccountValidity = 1
End Select
End Select
Case 9
lngTotal = CLng(strArrayAccount(0)) * 9 + _
CLng(strArrayAccount(1)) * 8 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
If lngTotal Mod 10 = 0 Then
fCheckBankAccountValidity = 1
End If
Case 54
fCheckBankAccountValidity = 1
Case 22
lngTotal = CLng(strArrayAccount(0)) * 3 + _
CLng(strArrayAccount(1)) * 2 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2
If 11 - (lngTotal Mod 11) = CLng(strArrayAccount(8)) Then
fCheckBankAccountValidity = 1
End If
Case 46
lngTotal = CLng(strArrayBranch(0)) * 9 + _
CLng(strArrayBranch(1)) * 8 + _
CLng(strArrayBranch(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
Select Case lngTotal Mod 11
Case 0
fCheckBankAccountValidity = 1
Case 2
Select Case strBranch
Case 154, 166, 178, 181, 183, 191, 192, 503, 505, 507, 515, 516, 527, 539
fCheckBankAccountValidity = 1
End Select
Case Else
lngTotal = CLng(strArrayAccount(0)) * 9 + _
CLng(strArrayAccount(1)) * 8 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
If lngTotal Mod 11 = 0 Then
fCheckBankAccountValidity = 1
Else
lngTotal = CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
If lngTotal Mod 11 = 0 Then
fCheckBankAccountValidity = 1
End If
End If
End Select
Case 14
lngTotal = CLng(strArrayBranch(0)) * 9 + _
CLng(strArrayBranch(1)) * 8 + _
CLng(strArrayBranch(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
Select Case lngTotal Mod 11
Case 0
fCheckBankAccountValidity = 1
Case 2
Select Case strBranch
Case 347, 361, 362, 363, 365, 385
fCheckBankAccountValidity = 1
End Select
Case 4
Select Case strBranch
Case 361, 362, 363
fCheckBankAccountValidity = 1
End Select
Case Else
lngTotal = CLng(strArrayAccount(0)) * 9 + _
CLng(strArrayAccount(1)) * 8 + _
CLng(strArrayAccount(2)) * 7 + _
CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
If lngTotal Mod 11 = 0 Then
fCheckBankAccountValidity = 1
Else
lngTotal = CLng(strArrayAccount(3)) * 6 + _
CLng(strArrayAccount(4)) * 5 + _
CLng(strArrayAccount(5)) * 4 + _
CLng(strArrayAccount(6)) * 3 + _
CLng(strArrayAccount(7)) * 2 + _
CLng(strArrayAccount(8)) * 1
If lngTotal Mod 11 = 0 Then
fCheckBankAccountValidity = 1
End If
End If
End Select
End Select
Exit_fCheckBankAccountValidity:
Exit Function
Err_בדיקה:
fCheckBankAccountValidity = 2
Exit Function
End Function
Public Function fCheckBankAccountValidityTest()
Debug.Print fCheckBankAccountValidity("4", "129", "100477")
End Function
הנה קוד לדוגמא:
Public Function אימות_סניף()
Dim Request As MSXML2.ServerXMLHTTP60
Dim Json As Object
Dim item As Variant
Set Request = New ServerXMLHTTP60
With Request
.Open "GET", "https://data.gov.il/api/action/datastore_search?resource_id=1c5bc716-8210-4ec7-85be-92e6271955c2&filters={""Bank_Code"":""52"",""Branch_Code"":""172""}", False
.send
Set Json = JsonConverter.ParseJson(.responseText)
End With
If Json("success") <> "true" Then
MsgBox "התרחשה שגיאה, פרטי השגיאה: סוג - " & Json("error")("__type") & ", הודעה - " & Json("error")("message")
ElseIf Json("result")("total") = 0 Then
MsgBox "הבקשה לא החזירה תוצאות"
Else
For Each item In Json("result")("records")
MsgBox item("Bank_Name") & " - " & item("Branch_Name") & " - " & item("Branch_Code")
Next item
End If
End Function
הערה. אני משתמש בקוד JsonConverter בשביל לקרוא טוב את התשובה.
@מטעמים אתה יכול גם לעשות קוד VBA שיבדוק עם API של בנק ישראל.
לדוג' הבקשה הבאה:
https://data.gov.il/api/action/datastore_search?resource_id=1c5bc716-8210-4ec7-85be-92e6271955c2&filters={"Bank_Code":"52","Branch_Code":"172"}
תבדוק האם קוד בנק 52 (פאג"י) וקוד סניף 172 נכונה. במידה וכן היא תחזיר את פרטי הסניף.
זה לא יעזור לך לבדוק נכונות של פרטי החשבון, רק מספר בנק וסניף.
תודה.
שלום רב.
אני מחפש תוכנה להמרת קבצי שמע לטקסט.
מדובר על שיעורים תורניים.
שמעתי על התוכנה הזו https://app.transkriptor.com מישהו מכיר? או משהו אחר מניסיון?
תודה רבה.
@מנחם תודה.
זה הרבה יותר יעיל ממה שאני כתבתי.
עריכה: סתם בשביל הסקרנות בדקתי...
הקוד שלי לקח על 50 רשומות משיטס 4 שניות, ושלך 3 שניות.
אז בזמן זה לא כ"כ משמעותי (לא אמור להיות בקובץ יותר מכמה עשרות רשומות), אבל זה בהחלט יותר פשוט ויעיל.