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

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

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

OdedDvir

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

פוסטים

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

  • כתיבת טקסט בעברית באותיות אנגליות (ללא תרגום מילולי)
    OdedDvirO OdedDvir

    @Y-Excel-Access כתב בכתיבת טקסט בעברית באותיות אנגליות (ללא תרגום מילולי):

    כל זה בהנחה שאין VISUAL STUDIO בממשק עברי.

    ברוך שהצילנו מעונשו של אולפן חזותי התשפ"ג...

    תוכנה

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

    @hp079 כתב ביצירת מסנן לדו"ח באקסס עם תנאים:

    DynamicCondition = IIf(Len(DynamicCondition) > 0, " AND ", "") & "agent LIKE %" & "agent" & "%"

    יש לך גרשיים מיותרות מסביב למשתנה agent. אתה צריך לרשום כך:

    DynamicCondition = IIf(Len(DynamicCondition) > 0, " AND ", "") & "agent LIKE %" & agent & "%"
    

    כשה-agent האחרון בשורה מתייחס לשם של פקד תיבת הטקסט בטופס המכיל את שם הסוכן לחיפוש.

    תכנות

  • כתיבת טקסט בעברית באותיות אנגליות (ללא תרגום מילולי)
    OdedDvirO OdedDvir

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

    1. אוצר המילים הנדרש הוא מצומצם למדי (אולי 100 מילים נפוצות שחוזרות על עצמן)
    2. המילים הנדרשות הן קלות לזכירה. גם מתכנתים הדוברים אנגלית כשפת אם, אמורים להשתמש במילים קצרות, פשוטות, ופשוטות לאיות, מהסיבה שיש לא מעט דוברי אנגלית שלא יודעים בדיוק איך לאיית.
    3. תועלת עצומה למי שאמור לתחזק אחריך את הקוד.
    4. אני מניח שאתה משתמש ב-IDE כלשהו, ובעידן ה-Intellisense אחרי שכתבת משהו פעם אחת, מכאן והלאה מסייעין בידך.

    בהצלחה!

    תוכנה

  • בנייה נכונה של API לעריכת ישות עם כמה ישויות קשורים
    OdedDvirO OdedDvir

    @yossiz אני גם לא למדתי את הנושא באופן מסודר, ומסתפק אם יש לי מה להוסיף לך בנושא, אבל כיון שביקשת:

    בקצרה, RESTful API הוא סגנון עיצוב של ה-API בצורה [השואפת ל]כך שבקשות ה-HTTP שנשלחות אל ה-API יבצעו פעולה בהתאמה לסוג המתודה של הבקשה (HttpMethod), למשל:

    POST ליצירה
    GET עבור קריאה
    PUT עבור עדכון
    DELETE עבור מחיקה

    וכן נקודות הקצה של ה-API יהיו במבנה מאורגן, בד"כ היררכי לפי סוג ישות\מזהה:

    GET Users
    GET Clients/123
    DELETE Doctors/456
    

    ויחזירו קודים מובנים, כמו 200 עבור success ו-404 עבור not found.
    כך שה-API אמור להיות אינטואיטיבי.

    ב-CRUD פשוט הכל טוב ויפה, עד שמגיעים לפעולות קצת יותר מורכבות, בהם לא ברור כל כך איך להיות RESTful "טהור".
    לדוגמא: עדכון חלקי של רשומה (מישהו אי פעם השתמש ב-PATCH ?), שיוך ישות-צאצא לישות-אב (האם הנתיב של פעולת שיוך מטופל לרופא, צריך להיות PUT Doctors/1/Patients/4 או אולי PUT Patients/4/Doctors/1 ?)

    כיוון ש-REST הוא לא ממש סטנדרט, כמו ש@dovid הזכיר, הכאוס חוגג וכל אחד מעקם את הכללים כרצונו, מתכנת מתחיל יכול ליצור API endpoints מוזרות, כמו:

    POST Doctors/delete?doctorid=123
    GET Doctors/all
    GET Doctors/2/delete
    

    ולשאלתך, דוד כבר ענה לך שלפי הספר הדרך היא ב.

    תכנות

  • בנייה נכונה של API לעריכת ישות עם כמה ישויות קשורים
    OdedDvirO OdedDvir

    @dovid אתה מתכוון שהשאלה היא כיצד לעצב את חווית המשתמש בעריכה של נתונים היררכיים? מהניסוח של @yossiz הייתי תחת הרושם שכוונתו לדון על העיצוב המומלץ לשכבת API בצד השרת, אבל כעת אני מבולבל עוד יותר... למה התכוון המשורר?

    תכנות

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

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

    חומרה

  • בנייה נכונה של API לעריכת ישות עם כמה ישויות קשורים
    OdedDvirO OdedDvir

    @yossiz אני מנסה להבין לאן אתה חותר. ברור לי שאין צורך לומר לך פוק חזי וכו' ואתה מכיר את הדרך המקובלת של RESTful API, על כל היתרונות והחסרונות שלה...
    שמא אתה מחפש דרך יעילה ואלגנטית יותר לבצע עדכונים היררכיים ב-API, בסגנון של GraphQL?

    תכנות

  • חלון שגיאה אין אינדקס
    OdedDvirO OdedDvir

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

    תוכנה

  • חלון שגיאה אין אינדקס
    OdedDvirO OdedDvir

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

    רק לאיפה נעלם השרשור הידוע שמשם הכרתי אותך, ואת אקסס לעומק?

    לא נעלם, הוא עדיין כאן. אני קצת נעלמתי...

    תוכנה

  • העתקת נתוני גליון לפי א ב'
    OdedDvirO OdedDvir

    @one1010 אתה רוצה ליצור גליון נפרד עבור כל אות, דהיינו שכל השורות שמתחילות באות א' ימוקמו בגיליון 'שורות_א', כל השורות שמתחילות באות ב' ימוקמו בגיליון 'שורות_ב', וכו'?

    תוכנה

  • יצירת מסנן לדו"ח באקסס עם תנאים
    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
    
    תכנות

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

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

    OpenReport ReportName, View, FilterName, WhereCondition, WindowMode, OpenArgs
    

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

    Dim DynamicCondition As String
    DynamicCondition=""
    ' Add first condition
    If (Not IsNull(chkSet_ok)) Then
       DynamicCondition="Ok=" & CStr(chkSet_ok)
    End If
    ' Add second condition:
    If (Not IsNull(chkDone)) Then
       DynamicCondition=IIF(Len(DynamicCondition)>0, DynamicCondition & " AND ", "") & "Done=" & CStr(chkDone)
    End If
    ' Add more conditions
    If (Only_Bar_Mitsva) Then
       DynamicCondition=IIF(Len(DynamicCondition)>0, DynamicCondition & " AND ", "") & "Age>=13"
    End If
    ...
    ' Open report with all my conditions:
    DoCmd.OpenReport "MyReport", acViewNormal, WhereCondition:=DynamicCondition
    
    תכנות

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

    @סקרן-0 ההצעה שלי לשאילתת עדכון אינה דורשת שינוי במבנה מסד הנתונים, השאילתא נשענת על המבנה הקיים.
    אם אתה מורשה להוסיף קוד משלך, מה הבעיה להוסיף שאילתא?

    תכנות

  • חלון שגיאה אין אינדקס
    OdedDvirO OdedDvir

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

    תוכנה

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

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

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

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

    תכנות

  • אחסון ושימוש בדאטה בייס SQL על כונן חיצוני
    OdedDvirO OdedDvir

    @pancake אם אתה מדבר על SqlServer בדווקא, הוא מבוסס שרת, כך שאי אפשר לגשת לקובץ הדאטא בלי מנוע ה-Server. אכן אפשר למקם את קובץ הנתונים שלו במיקום ברצונך, ולהפנות אליו על ידי פרמטר במחרוזת החיבור:

    AttachDbFilename=D:\MyApp\AppData.mdf;
    

    (אפשרות אחרת היא להשתמש ב-DB של SqlLite שהוא SelfContained (לא מצריך התקנת שרת), ומאוחסן כקובץ יחיד. אמנם אין בו את כל האפשרויות שמגיעות עם SqlServer כמו StoredProcedures.)

    לגבי חסימת הגישה, למי שיש גישה ל-ConnectionString תהיה כמובן גם גישה לנתונים. אם תגן על ה-DB בעזרת סיסמה מורכבת, ותשמור את מחרוזת החיבור בצורה מאובטחת, למשתמש הפשוט לא תהיה גישה לנתונים.

    תכנות

  • בטריות GP מול TOSHIBA
    OdedDvirO OdedDvir

    בסוללות נטענות יש שתי בעיות:

    1. הגבלת מחזורי טעינה
    2. וריקון עצמי לאורך זמן גם בלא שימוש.

    אני משתמש יום יום כ-3 שעות במיקרופון עם משדר רדיו כדי שאוכל להתנייד.
    המשדר משתמש בשתי סוללות אצבע, ורציתי לחסוך הטענות רצופות.
    אחרי מחקר קטן, קניתי מחו"ל 2 רביעיות של Panasonc eneloop pro.
    988c90e7-faae-4cec-bd96-5ef4c446bc77-תמונה.png
    הם יקרות, אבל מדהימות...
    פתחתי חבילה אחת והתחלתי להשתמש בשני הזוגות שבה לסירוגין, כשזוג אחד נגמר, אני מטעין אותו ומשתמש בשני. אני משתמש באותה חבילה בערך 5 שנים והחבילה השנייה עדיין סגורה.
    מבחינתי זו הייתה קנייה מוצלחת ביותר, ממליץ למי שצריך שימוש יום יומי, רק להיזהר מחיקויים זולים.

    צרכנות

  • נוסחה שלא רואים אותה
    OdedDvirO OdedDvir

    @A0533057932 אם הכוונה היא שלא תופיע אפילו נוסחא בשורת הנוסחאות, אז אפשר ליצור טריגר בארוע שינוי של תא הקלט, שיכניס את תוצאת הנוסחא לתא הפלט.

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

    Option Explicit
    
    Private Const WatchRangeString As String = "A1:A10"
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Range(WatchRangeString), Range(Target.Address)) Is Nothing Then
           DoSomething Target
        End If
    End Sub
    
    
    Private Sub DoSomething(ByRef ChangedRange As Range)
        Dim oldValue As Variant
        Dim newValue As String
            
        If (IsEmpty(ChangedRange.Value2)) Then
            newValue = ""
        Else
            oldValue = ChangedRange.Value2
            newValue = "Thank you for entering " & CStr(oldValue)
        End If
        Me.Cells(ChangedRange.Row, ChangedRange.Column + 1).Value = newValue
    End Sub
    

    תוצאה:
    5d7f3e22-4ce3-4114-bbaf-b4ffb2e4f7d0-תמונה.png
    כמובן שבמקרה שלך, אתה צריך להחליף את הערך בשורה 20 בקוד לתוצאה הרצויה (התאריך העברי)

    תוכנה

  • APP SCRIPT האם שייך meta programming? (קוד JS שמריץ string כקוד JS)
    OdedDvirO OdedDvir

    @Y-Excel-Access נראה שנפלה לך טעות קטנה בהקלדה. צ"ל כך:

    function RunJS() {
      var TEXT = "var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange('a5').setValue('Running!');"
      eval(TEXT);
    }
    
    תכנות

  • APP SCRIPT האם שייך meta programming? (קוד JS שמריץ string כקוד JS)
    OdedDvirO OdedDvir

    @Y-Excel-Access לכאורה אפשר על ידי הפונקציה eval():

    eval("Logger.log('Hello world')")
    
    תכנות
  • 1
  • 2
  • 8
  • 9
  • 10
  • 11
  • 12
  • 119
  • 120
  • 10 / 120
  • התחברות

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

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