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

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

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

OdedDvir

@OdedDvir
אודות
פוסטים
2.4k
נושאים
60
שיתופים
0
קבוצות
0
עוקבים
21
עוקב אחרי
0

פוסטים

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

  • מצאתי פריצה באתר
    OdedDvirO OdedDvir

    @aaron אמר במצאתי פריצה באתר:

    אז לכל החבר'ה שמסתובבים פה ואולי מקבלים חשק להתחיל בבדיקות על כל מיני אתרים

    דווקא לי זה עשה חשק...
    בעצם הבדיקה והנסיון (מחיקת תגיות) שעשה @מנחם אין בעיה חוקית. אדרבא, טובה גדולה הוא עושה אם יזהיר את מנהל האתר על הפירצה המגוחכת (הסתרת אלמנטים מינהליים על ידי תויות? באמת!) זה נשמע כמו טעות פטאלית של מישהו שלא מבין כלל בפיתוח WEB.

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

    אינטרנט

  • ביט שהוא מסור
    OdedDvirO OdedDvir

    @one1010 ההבדל הגדול הוא בצורת האחיזה וזיות החיתוך. צורת האחיזה של מברגה \ מקדחה עם ראש דיסק היא לא טבעית, כי צריך להפעיל גם התנגדות בכיוון ניצב לגוף. זה גורם לדיסק לא להיות יציב על המשטח והוא מחליק בקלות. לעומת זאת זווית החיתוך במסור דיסק או אנכי דורשת התנגדות בכיוון הגוף, והיא הרבה יותר טבעית ויציבה.

    מכשירים ביתיים

  • איחוד נתונים של שני שדות באקסס
    OdedDvirO OdedDvir

    אם אתה מתכוון להציג את הפרטים בתיבת טקסט, כתוב במקור הנתונים של התיבה

    =[ID] & " " & [FirstName] & " " & [LastName]
    
    תכנות

  • המלצה לקורס
    OdedDvirO OdedDvir

    @ארי
    א. אני מזדהה עם דרך הלימוד שלך.
    ב. יש לי דעה שונה מ @pcinfogmach:
    זה שגוי בעיני להתקבע על שפה מסויימת מראש. אני מייעץ לך לא לחשוב יותר מדי בשלב הזה. אם אתה מרגיש שאתה רוצה להתקדם, זה סימן שאתה מוכן. (אגב, יש שאלות ש @pcinfogmach העלה שאני עדיין לא יודע להשיב עליהן 🙂 ) פשוט תקפוץ למים ותתחיל עם משהו, נסה אותו למשך שבועיים שלושה, ותראה אם אתה מתחבר לסגנון. אני לקחתי קורס שלם על nodeJs ב-udemy, ובסוף החלטתי בכלל על דוטנט. ועדיין אני מנסה פה ושם דברים אחרים.
    ג. מסכים שיש הבדל בין אקסס ו-VBA לשפות אחרות, אבל זה נכון גם על כל פלטפורמה אחרת. אין באמת הבדל גדול בעקרונות התכנות בין שפה לשפה. לפי הפעילות שלך בפורום, אני מבין שיש לך הבנה טובה ב-VBA ואקסס. חשוב לי להדגיש שכל נסיון שצברת בתכנות, בכל שפה, מוסיף לניסיון הכללי שלך כמתכנת.

    תכנות

  • האטת ריצת קוד vba
    OdedDvirO OdedDvir

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

    Dim newWb As Workbook
    Set newWb = Workbooks.Open(קובץ_מקור & "x", ReadOnly:=False)
    Do Until newWb.ReadOnly = False
        DoEvents
    Loop
    ' עכשיו אתה חופשי לבצע פעולות
    
    תכנות

  • פקודת מאקרו בוורד שפותחת תוכנה אחרת ויכולה לעשות פעולות בתוך התוכנה האחרת
    OdedDvirO OdedDvir

    כמו שציין @dovid, ניתן להשתמש בפונקציה SendKeys.
    בהנחה שהתוכנה פתוחה, אפשר לעבור אליה על ידי ציון שמה על ידי פונקציה נוספת: AppActivate.
    הנה דוגמא בסיסית להעתקה של הבחירה בוורד לתוך VSCode:

    Sub PasteInVisualStudioCode()
        SendKeys "^C", True
        AppActivate "Visual Studio Code", True
        SendKeys "^V", True
    End Sub
    

    הערות:

    1. הפרמטר השני True (בשתי הפונקציות) גורם לקוד להמתין עד לסיום הפעולה, אחרת עלול להווצר מצב דומה לזה שציין @מטעמים.
    2. בקוד הנ"ל אין בדיקה האם VSCode פתוח כבר. במקרה שלא - תקפוץ שגיאה.
    תכנות

  • יצירת מסנן לדו"ח באקסס עם תנאים
    OdedDvirO OdedDvir

    @hp079 לתיבת סימון תלת מצבית שלושה ערכים אפשריים:
    True, False, Null. הערך Null משמעותו ללא סימון.
    אם אין סימון בתיבה זו, מסתמא הלוגיקה היא לא לסנן לפיה, לכן בשורה:

    If (Not IsNull(chkSet_ok)) Then
    

    אתה מוודא שהתיבה מסומנת, כלומר אם היא לא מכילה Null, ואם כן, השורה:

    DynamicCondition="Ok=" & CStr(chkSet_ok)
    

    מוסיפה לתנאי את הבדיקה האם השדה Ok (בדוח) שווה לערך טבלת הסימון.

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

    If (Len(txtSearchFirstName) > 0) Then
       DynamicCondition=IIF(Len(DynamicCondition)>0, " AND ", "") & "FirstName LIKE %" & txtSearchFirstName & "%"
    End If
    
    תכנות

  • הרצת שאילתה בלולאה - VBA אקסס
    OdedDvirO OdedDvir

    @סקרן-0
    יש כאן בעיה בתכנון לקוי של ה-DB, כי הקשר בין הלקוח לאיש השיווק אמור להופיע בנתונים במקום יחיד בלבד. אין היגיון להחזיק כפילות של הקשר הזה בשתי טבלאות, ולנהל את שתיהן (להוציא מקרים מיוחדים שבהם יש שכפול של הנתון הזה לצורך יעילות, ואז צריך שהקשר יתעדכן במקביל בשני המקומות בו זמנית, כדי למנוע מצב שאין לך מקור אמת יחיד)
    המבנה הנכון של ה-DB הוא כך שהקשר יופיע רק בטבלת הלקוחות (במקרה של קשר יחיד לרבים - כשלכל איש שיווק יכולים להיות הרבה לקוחות, אך לכל לקוח יש איש שיווק יחיד בלבד) או בטבלת זוגות (במקרה שהקשר הוא רבים לרבים - כל לקוח יכול להיות משוייך לכמה אנשי שיווק, וכל איש שיווק יכול להיות משוייך לכמה לקוחות).

    אני מבין שאין לך אפשרות\ידע\רצון לשנות את המבנה הקיים. זו אכן עבודה מורכבת למדי, ועדיף שתתבצע על ידי המתכנת.

    גם אם זה אפשרי לכתוב קוד שמפעיל את הכפתור 10000 פעמים, זה מאוד לא מומלץ, בפרט שמדובר ב-Dlookup.
    הפתרון הכי יעיל לעדכון הוא ליצור שאילתת עדכון שמצרפת את טבלת הלקוחות עם טבלת השיוך, ומעדכנת את השדה בכל הרשומות בריצה אחת, זה יעיל פי 10000.

    תכנות

  • שליפת נתונים מאתר
    OdedDvirO OdedDvir

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

    יש גם תמיכה ב-API אם התוכנה לא צריכה לעבוד אופליין. ממליץ לך לבדוק.

    תכנות

  • הצעה לשיפור התועלת מהתשובות
    OdedDvirO OdedDvir

    @mekev אמר בהצעה לשיפור התועלת מהתשובות:

    ולכן רואים בפוסטים רבים בפורום
    שהעונים מצרפים קישורים שמצאו בעזרת גוגל ולא מידע ונסיון אישי

    אם התשובה היא לא מנסיון אישי, הרבה פעמים זה יכול גם לגרוע מאיכות התשובה, ולבלבל שלא לצורך.
    אני מודה שגם אני עושה כך לפעמים, אבל רק כאשר השאלה תלוייה באויר ללא מענה, אז לפחות אני משתף את הכיוון שאליו הייתי הולך, לו הייתי השואל.

    לדעתי להוסיף לתשובות את חיפוש הגוגל באופן גורף זה מיותר. לדעת לנסח את השאלה נכון, עם מילות מפתח נכונות, זו מיומנות שנרכשת עם הזמן, בינתיים גוגל מאוד סלחני בקשר לשאילתות שלו, ותמיד אתה יכול לשאול באופן ספציפי על מילות מפתח.
    אגב, לכאורה הקטגוריה המתאימה לשאלתך היא https://tchumim.com/category/52/רשימת-הצעות-בקשות-ודיווח-באגים

    תכנות

  • מחפש מידע על המבנה של קבצי mp3
    OdedDvirO OdedDvir

    @אף-אחד-3 אמר במחפש מידע על המבנה של קבצי mp3:

    במלוא הכנות, יש נושא שאתה לא מבין בו ?

    אני אפילו לא צריך להגיב על זה. זה ממש במקרה שלאחרונה הייתי צריך לעשות קובץ batch כדי להגביה כמה קבצי קול ברצף, אז חקרתי קצת את הנושא.

    @אף-אחד-3 אמר במחפש מידע על המבנה של קבצי mp3:

    עקרונית זה נמצא בסוף הקובץ (ב 128 בתים האחרונים שלו) אם כי, גם אחרי שמחקתי את זה עם hex editor התגיות נשארו

    ככה זה היה בגירסאות הראשונות של התגיות ID3v1. זה אכן היה מוגבל ל-128 תוים, ולכן בגרסאות הבאות הם שידרגו את זה לתחילת הקובץ, ושם אפשר לשים הרבה מטא-דאטא.

    ואת זה אני גם במקרה מכיר מלפני הרבה הרבה שנים כשהיה לי BBS + שיגעון ילדות לתייג את כל הקבצים שלי לפי שם הקובץ. נוסטלגיה...

    תכנות

  • בעיה בקריאה של עברית מקובץ JSON (*נפתר*)
    OdedDvirO OdedDvir

    עדכון: מצאתי פתרון.
    הבעיה הייתה בקידוד של הקובץ עצמו. הוא היה מקודד כ-ANSI.
    הפתרון הוא פשוט לפתוח אותו בפנקס הרשימות, ולשמור אותו מחדש בקידוד UTF-8.

    תכנות

  • עזרה ביצירת תוכנה קטנטנה באקסס
    OdedDvirO OdedDvir

    @קינג-קומפיוטר אמר בעזרה ביצירת תוכנה קטנטנה באקסס:

    זכור לי שראיתי פעם בפורום שמישהו ביקש לעשות משהו כזה ואחד מהחברים בפורום יצר לו תוכנה כזו באקסס

    אתה בטח מתכוון לזה: https://tchumim.com/topic/12095/הדפסת-ד-וח-מאקסס-על-בסיס-קובץ-וורד?_=1648397316903

    הנה תמצות של השלבים:

    1. צור רשימה של השמות והמיילים. זה יכול להיות טבלה באקסס, אקסל ואפילו בוורד.
    2. צור מסמך בוורד עם תבנית של המכתב שאותו אתה רוצה לשלוח, ובמקום שבהם אתה רוצה להכניס את השם המתאים, תיצור סימניה (בתפריט: הוספה > סימניה), תן לה שם באנגלית, נניח UserName.
    • שים לב שלא רואים את הסימניה אחרי ההוספה, אבל היא שם.
    1. כעת צריך לכתוב קצת קוד, כדי להכניס את השם המתאים בסימניה. את הקוד תניח לכאורה באותו מקום שבו שמרת את הרשימה (אקסס\אקסל או וורד).
      הקוד צריך לעבור על כל הטבלה, ובכל פעם:
    • להכניס את השם המתאים במכתב, במיקום של הסימניה
    • לשמור את הקובץ שנוצר כ-PDF
    • לשלוח אותו למייל המתאים
    1. תשתף איפה אתה אוחז, האם והיכן יצרת את הרשימה, ואנסה לקדם אותך עם הקוד.
      בהצלחה!
    תכנות

  • שאלה | איזה משתנה מחזיר את שם השולח בגוגל סקריפט?
    OdedDvirO OdedDvir

    @חייםיודלביץ אמר בשאלה | איזה משתנה מחזיר את שם השולח בגוגל סקריפט?:

    אני פשוט לא מסתדר, נסיתי המון ... אני לא מכיר את JS אני מכיר טוב את ה VBA ופה לא הולך לי

    בוא נעשה סדר...

    1. אם אתה מכיר את VBA, סימן שיש לך מושג כיצד מתנהג קוד. העקרון הבסיסי זהה גם כאן.
    2. אם השמות מוצגים בקונסול, סימן שהשליפה שלהם מבוצעת כראוי על ידי הקוד.
    3. אני מבין שאתה רוצה לעשות עם התוצאות משהו אחר, וכפי שכתבת:

    אני לא מצליח לטעון אותו למשתנה הוא רק מציג לי אותו כ Log

    בוא נראה, היכן בקוד שלי מבוצעת ההדפסה? בשורה 4:

          Logger.log(parseEmailHeader(m).name)
    

    יתכן והשורה הזו עמוסה מדי עבורך, זה סגנון של מתכנתים קצת יותר מנוסים. אם כן אני אנסה להרחיב יותר. (אם זו לא הבעיה, אתה רשאי להתעלם מבילבול המוח דלקמן... צרף את הקוד שלך ונראה מה הבעיה)

    בוא נפרק את השורה הזו לגורמים. יש כאן בעצם שלושה שלבים:

    1. קריאה ל parseEmailHeader(m).
      אני מעביר לפונקציה parseEmailHeader את האובייקט m שמכיל את ההודעה הנוכחית.
      הפונקציה מחזירה אובייקט עם שני שדות (בשורה 12 היא יוצרת אותו, ובשורה 22 היא מחזירה אותו), שני השדות הם:
      name - שאמור להכיל את שם המשתמש, ו- email שאמור להכיל את כתובת המייל שלו.

    2. אח"כ אני מבודד מתוך האובייקט המוחזר רק את הערך של name (שבו אני מעוניין) על ידי אופרטור הנקודה . ולאחריו שם השדה, כך: name.

    3. אני מדפיס את התוצאה המבוקשת על ידי קריאה ל: ()Logger.log.

    אילו הייתי רוצה לפשט את הקוד יותר, הייתי כותב כך:

    // שלב 1: קבלת אובייקט המכיל את שם וכתובת השולח מתוך כותרת ההודעה
    const messageHeaderDetails = parseEmailHeader(m);
    // שלב 2: שליפת שם המשתמש מתוך האובייקט המוחזר
    const senderName = messageHeaderDetails.name;
    // שלב 3: הדפסת שם המשתמש ביומן
    Logger.log(senderName);
    

    אם החזקת ראש איתי עד עכשיו, אני מקווה שאתה כבר מבין שאינך מחוייב דווקא להדפיס את שם המשתמש בשלב 3. כיון שהערך המבוקש נמצא במשתנה senderName, תוכל להחליף את שלב 3 ולעשות מה שבא לך עם שם המשתמש.

    למשל, לאחסן אותו במערך:

    myArray.push(senderName)
    

    או בקיצור:

    myArray.push(parseEmailHeader(m).name)
    
    תכנות

  • שינוי שפת תוכנה
    OdedDvirO OdedDvir

    @clickone אמר בשינוי שפת תוכנה:

    צריך להתייחס גם לפקדים של כפתור
    מתאים שתהיה פונקציה חיצונית שתעשה את זה בחוץ ורק תקבל את הטופס

    נו נו, אין מסרבין לגדול:

    Public Function ControlExistsInForm(frm As Form, ctrlName As String) As Boolean
        On Error Resume Next
            ControlExistsInForm = Not frm.Controls(ctrlName) Is Nothing
        On Error GoTo 0
    End Function
        
    Public Sub TranslateForm(frm As Form, CurrentLanguageName As String)
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM LangTable WHERE FormName='" & frm.Name & "'")
        While Not rs.EOF
            Dim ctrlName As String
            ctrlName = rs!ControlName
            ctrlCaption = rs(CurrentLanguageName & "Caption")
            If ControlExistsInForm(frm, ctrlName) Then
                Select Case frm.Controls(ctrlName).ControlType
                    Case acLabel, acCommandButton
                        frm(ctrlName).Caption = ctrlCaption
                    Case Else
                        frm(ctrlName).Value = ctrlCaption
                End Select
            End If
            rs.MoveNext
        Wend
    End Sub
    
    Private Sub Form_Load()
        TranslateForm Me, "English"
    End Sub
    
    תכנות

  • אקסס - סינון שדות נתונים לדוח מתוך טופס
    OdedDvirO OdedDvir

    @מוישלה המשימה שלקחת מורכבת, ודורשת ידע ב-SQL וגם VBA. צריך להתחיל מהיסוד.
    אם אתה לא מכיר בכלל את שפת SQL אז שם צריך להתחיל.
    אתה צריך לדעת את המבנה של שאילתת בחירה פשוטה (SELECT)
    עיין בסוף הפוסט הזה.
    אם הבנת את הרעיון, נסה לכתוב בעצמך בשפת SQL שאילתא שבוחרת 2 שדות (למשל) מתוך הטבלה שלך.
    אם הצלחת - נהדר!

    השלב הבא הוא להכיר ולכתוב קצת קוד VBA. תוכל להתחיל כאן.

    תכנות

  • אתגר לוגי/מתימטי/תיכנותי - חישוב חבילת התשלום הכי זולה ברב-קו
    OdedDvirO OdedDvir

    @chv באופן כללי זה נשמע לי כמו יישום של אלגוריתם למציאת המסלול הקצר ביותר.
    כעין החישוב שמבוצע בווייז למציאת המסלול הקצר \ המהיר ביותר.
    הרעיון הוא לייצג את כל האפשרויות על ידי גרף עם משקולות = לכל קשת בגרף יש משקל (אורך, זמן או במקרה שלך - מחיר) ואז להריץ על הגרף את האלגוריתם הנ"ל, כדי למצוא את המסלול עם המשקל הקטן ביותר.
    תוכל לראות במכלול דוגמא לאלגוריתם המפורסם של דייקסטרה למציאת המסלול הקצר ביותר.

    תכנות

  • הדגשת תוצאות חיפוש באקסס
    OdedDvirO OdedDvir

    @אוריי יפה מאוד!
    עוד הצעה קטנה לשיפור:
    שמתי לב שהוא מציג בשם המחבר ובהערות את הנקודה בתחילת השורה ולא בסוף. זה אופייני לתיבות טקסט עם טקסט עשיר, שמכילות עברית.
    הפתרון הוא לשנות את המאפיין "כיוון קריאה" של תיבת הטקסט מ-"הקשר" ל-"מימין לשמאל", זה יתקן את המיקום של הנקודה.

    תכנות

  • נכשל ביצירת פרויקט ב React
    OdedDvirO OdedDvir

    @racheli-0 אני בכלל לא מכיר את React, אבל לכאורה יש טעות בפקודה. כאן מובא שיש להשתמש בפקודה npx ולא בפקודה npm, כך:

    npx create-react-app my-app
    cd my-app
    npm start
    
    תכנות

  • אקסס | פונקציה בערך ברירת מחדל
    OdedDvirO OdedDvir

    @בערל אמר באקסס | פונקציה בערך ברירת מחדל:

    אי אפשר להשתמש בפונקציה חיצונית בעיצוב טבלה

    זה נכון בצורה ש @אביי ביקש להשיג זאת.
    אבל יש דרך ערמומית להשיג את הפונקציונאליות הזו על ידי פקודת מאקרו של נתונים בעיצוב הטבלה:
    dc6345ad-7e1d-4cfa-bf76-dd2913642f2a-תמונה.png

    ושם תגדיר כך:
    04cbcf02-4599-4e07-9444-b3789d5de123-תמונה.png

    רק שים לב שיש כאן בעיה: כאשר תנסה לעדכן רשומה קיימת, ערך השדה יידרס עם שם המשתמש הנוכחי, גם אם היה שם ערך קודם. תוכל כמובן להוסיף בדיקה במאקרו האם השדה ריק לפני שתבצע את העדכון.

    למרות שזה נראה מאוד נחמד, אני באופן עקרוני נמנע משימוש במאקרו, ולא ממליץ על הדרך הזו.

    תכנות
  • 1 / 1
  • התחברות

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

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