האם אפשר להעלות את הקוד?שלום,
יש לי קוד #c שיוצר קבצי מסב, מעלה למסב בהצלחה
כשחיובים חוזרים בבנק אני מקבל את הרשימה מהבנק בצורה הפוכה (השמות בעברית רשומים משמאל לימין)
אני מדגיש שהקובץ תקין ועולה בהצלחה.
רק בקובץ שחוזר יש בלאגן והוא ממש לא נוח לעבודה.
תשובת החברה:
נתוני ההחזרות נשלפים מהקובץ המשודר למס"ב.
כאשר הקובץ ששודר למס"ב נבנה עם עברית לא תקינה ( קישור להורדת מסמך טבלאות עברית https://www.masav.co.il/media/2001/hebrew.pdf) התוצאה היא שיבוש המלל.
משמע, כשהמלל בקובץ משובש פרוט ההחזרות הנשלף מהקובץ יהיה עם מלל משובש
האם יש צורך בהתייחסות מיוחדת בעבודה עם עברית בקוד, בזמן יצירה ושמירה של הקובץ, אולי לשמור בקידוד מסוים?
תודה רבה
שלום.תשתמש בקוד הזה
קוד:Option Compare Database Option Explicit Public Function fValidateBankAccount(lngBankNumber As Long, _ lngBranch As Long, _ lngAccount As Long) As Boolean On Error GoTo fValidateBankAccount_Error Dim lngRequiredAccountLength As Long Dim lngTotal As Long Dim strArrayAccount() As String Dim strArrayBranch() As String Dim strAccount As String Dim strBranch As String If lngBankNumber = 0 Or lngBranch = 0 Or lngAccount = 0 Then Exit Function 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 = StrConv(strAccount, vbUnicode) strArrayAccount = Split(strAccount, vbNullChar) If lngBankNumber = 20 And lngBranch > 400 Then ' אם מספר הסניף בבנק מזרחי-טפחות גדול מ400 strBranch = CStr(lngBranch - 400) ' לפני החישובים יש להפחית 400 Else ' אם מספר הסניף בבנק מזרחי-טפחות לא גדול מ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 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True 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, 6 fValidateBankAccount = True 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, 6 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True Else fValidateBankAccount = False End If Case 54 fValidateBankAccount = True 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 fValidateBankAccount = True Else fValidateBankAccount = False 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 fValidateBankAccount = True Case 2 Select Case strBranch Case 154, 166, 178, 181, 183, 191, 192, 503, 505, 507, 515, 516, 527, 539 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True 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 fValidateBankAccount = True Else fValidateBankAccount = False 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 fValidateBankAccount = True Case 2 Select Case strBranch Case 347, 361, 362, 363, 365, 385 fValidateBankAccount = True Case Else fValidateBankAccount = False End Select Case 4 Select Case strBranch Case 361, 362, 363 fValidateBankAccount = True Case Else fValidateBankAccount = False 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 fValidateBankAccount = True 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 fValidateBankAccount = True End If End If End Select End Select On Error GoTo 0 Exit Function fValidateBankAccount_Error: fValidateBankAccount = False MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fValidateBankAccount of Function mdlValidations" End Function Public Function fValidateTeudatZehut(ID As Variant) As Boolean On Error GoTo fValidateTeudatZehut_Error Dim lngCounter As Long Dim lngSum As Long Dim lngDigit As Long If Len(ID) = 0 Then fValidateTeudatZehut = False: Exit Function ID = Val(ID) While Len(ID) < 9 ID = "0" & ID Wend lngSum = 0 For lngCounter = 1 To 9 lngDigit = Strings.Mid$(ID, lngCounter, 1) If (lngCounter Mod 2) = 0 Then If lngDigit >= 5 Then lngDigit = 2 * lngDigit - 9 Else lngDigit = lngDigit * 2 End If End If lngSum = lngSum + lngDigit Next lngCounter fValidateTeudatZehut = (lngSum Mod 10) = 0 On Error GoTo 0 Exit Function fValidateTeudatZehut_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fValidateTeudatZehut of Function mdlValidations" End Function
@moishy האם שייך לקבל את הקובץ האחרון המעודכן?כנראה הקוד לא מעודכן.
תעלה לכאן את הקוד של המודול mdlValidations.
סליחה על העיכוב.@moishy האם שייך לקבל את הקובץ האחרון המעודכן?
תודה רבה על הקובץ הנפלאסליחה על העיכוב.
הקובץ הבסיסי הוא הקובץ המקורי, הקובץ השני מכיל תוספות (יש שיאמרו שדרוגים) שנכתבו ע"י אחד מחברי הפורום.
כשאני מנסה להכנס מתקבלת ההודעה הזו:סליחה על העיכוב.
הקובץ הבסיסי הוא הקובץ המקורי, הקובץ השני מכיל תוספות (יש שיאמרו שדרוגים) שנכתבו ע"י אחד מחברי הפורום.
זה לא קובץ rar זה קובץ מס״ב. אפשר להעלות אותו לתוכנת מס״ב.ניסתי בקובץ השני שהיה מצורף מס"ב תשפ"ד
שם הצלחתי להפיק קובץ, אבל הוא יצא כקובץ RAR ואני לא מצליחה לפתוח אותו
בלחיצה ימנית ובחירה בחילוץ לכאן, או בחילוץ קבצים מתקבלת ההודעה הבאה:
צפה בקובץ המצורף 1732725
ניסיתי להעלות את הקובץ ב"בדיקת קבצים" באקסס והוא הראה קובץ תקין, אבל אין לי שום דרך להעלות אותו לתוכנת מס"ב
זו ההודעה שמתקבלתזה לא קובץ rar זה קובץ מס״ב. אפשר להעלות אותו לתוכנת מס״ב.
אם אני זוכר נכון, הבעיה היא ששם הקובץ ארוך מידי.זו ההודעה שמתקבלת
צפה בקובץ המצורף 1732777
מספר מוסד שמתחיל ב-0אם אני זוכר נכון, הבעיה היא ששם הקובץ ארוך מידי.
שיניתם את שם הקובץ או שזה השם שנוצר אוטומטית?
ראו באתר של מס"ב:
צריך לשנות את סוג הנתונים בטבלה לטקסטמספר מוסד שמתחיל ב-0
כאשר מכניסים בפרטי מוסד 0 בהתחלה הוא נותן להקליד, אבל מוחק אותו אח"כ
אבל הקובץ שגוי כי מספר המוסד לא תקין (הוא כביכול מתחיל מהמספר השני, ובסוף יש 0)
תודה על המענהצריך לשנות את סוג הנתונים בטבלה לטקסט
והפתרון הוא מה שכתבתיתודה על המענה
אני התכוונתי בהדרות קוד מוסד לחיוב
מגדירה את שם החברה, קוד מוסד ארוך
וקוד מוסד קצר
קוד המוסד מתחיל ב-0 (ספרה ראשונה מתוך 5)
המערכת מוחקת את ה-0 כך שקוד המוסד הקצר נהיה בן 4 ספרות, והארוך בן 7
ואיך פותחים את הטבלה בתצוגת עיצוב ?והפתרון הוא מה שכתבתי
צריך לפתוח את הטבלה בתצוגת עיצוב ולשנות את סוג הנתונים לטקסט
לחצן ימני אל הטבלה > תצוגת עיצובואיך פותחים את הטבלה בתצוגת עיצוב ?
לוח לימודים
מסלולי לימוד שאפשר לההצטרף
אליהם ממש עכשיו:
26.09
כ"ג אלול
פתיחת
קורס מאסטר בשיווק דיגיטלי
מלגות גבוהות!
19.11
י"ח חשוון
פתיחת
קורס בינה מלאכותית - חדשנות ב AI
קורס מקוצר
25.11
כ"ד
פתיחת
קורס פרסום קופי+
מלגות גבוהות!
27.11
כ"ו חשוון
פתיחת
קורס פיתוח בוטים ואוטומציות עסקיות
מלגות גבוהות!
27.11
כ"ו חשוון
פתיחת
קורס עיצוב גרפי ודיגיטל - בסילבוס חדש ומטורף!
מלגות גבוהות!
תהילים פרק קיט ק'
קמה קָרָאתִי בְכָל לֵב עֲנֵנִי יי חֻקֶּיךָ אֶצֹּרָה:קמו קְרָאתִיךָ הוֹשִׁיעֵנִי וְאֶשְׁמְרָה עֵדֹתֶיךָ:קמז קִדַּמְתִּי בַנֶּשֶׁף וָאֲשַׁוֵּעָה (לדבריך) לִדְבָרְךָ יִחָלְתִּי:קמח קִדְּמוּ עֵינַי אַשְׁמֻרוֹת לָשִׂיחַ בְּאִמְרָתֶךָ:קמט קוֹלִי שִׁמְעָה כְחַסְדֶּךָ יי כְּמִשְׁפָּטֶךָ חַיֵּנִי:קנ קָרְבוּ רֹדְפֵי זִמָּה מִתּוֹרָתְךָ רָחָקוּ:קנא קָרוֹב אַתָּה יי וְכָל מִצְוֹתֶיךָ אֱמֶת:קנב קֶדֶם יָדַעְתִּי מֵעֵדֹתֶיךָ כִּי לְעוֹלָם יְסַדְתָּם: