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

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

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

OdedDvir

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

פוסטים

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

  • שדה מחושב באקסס
    OdedDvirO OdedDvir

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אמר בשדה מחושב באקסס:

    אם לא קשה לך אני יודה לך תוכל לחלץ לי את השורה שגורמת לכך שלא ישמור.

    אתה יכול לעשות משהו כזה:

    Private Sub Form_BeforeUpdate(Cancel As Integer)
        On Error GoTo Err_BeforeUpdate
        
        If Me.Dirty Then Me.Undo
    
    Exit_BeforeUpdate:
       Exit Sub
    
    Err_BeforeUpdate:
       MsgBox Err.Number & " " & Err.Description
       Resume Exit_BeforeUpdate
    End Sub
    
    

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

    Dim UserWantsToSave As Boolean
    
    Private Sub Form_Current()
        UserWantsToSave = False
    End Sub
    Private Sub cmdSave_Click()
        UserWantsToSave = True
        Me.Dirty = False
    End Sub
    
    Private Sub Form_BeforeUpdate(Cancel As Integer)
        On Error GoTo Err_BeforeUpdate
        
        If UserWantsToSave Then Exit Sub
        If Me.Dirty Then Me.Undo
    
    Exit_BeforeUpdate:
       Exit Sub
    
    Err_BeforeUpdate:
       MsgBox Err.Number & " " & Err.Description
       Resume Exit_BeforeUpdate
    End Sub
    
    

  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אתה צריך להשתמש בקוד VBA ואירוע הטופס BeforeUpdate (או "לפני עדכון" בעברית)
    במאפייני טופס > ארוע > לפני עדכון > בחר בפרוצדורת ארוע
    בחלון ה VBE הכנס את הקוד הבא (היישר מאתר מיקרוסופט:)

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    
       ' This procedure checks to see if the data on the form has
       ' changed. If the data has changed, the procedure prompts the
       ' user to continue with the save operation or to cancel it. Then
       ' the action that triggered the BeforeUpdate event is completed.
    
       Dim ctl As Control
    
       On Error GoTo Err_BeforeUpdate
    
       ' The Dirty property is True if the record has been changed.
       If Me.Dirty Then
          ' Prompt to confirm the save operation.
          If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _
                  "Save Record") = vbNo Then
             Me.Undo
          End If
       End If
    
    Exit_BeforeUpdate:
       Exit Sub
    
    Err_BeforeUpdate:
       MsgBox Err.Number & " " & Err.Description
       Resume Exit_BeforeUpdate
    End Sub
    

    סגור את העורך ושמור את הטופס.


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @איש-יהודי אמר בשדה מחושב באקסס:

    מי זה ומה זה אם אפשר קישור לסרטונים שלו

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


    אולי תוכל לבקש מהם לפתוח את כל הפלייליסט


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    מה הכוונה שזה סם כניסה לשאר הטכנולוגיות, שהם בנויים על אותו עיקרון??
    (אני לא מכיר את השפות שהזכרת)

    התכוונתי שאתה נמשך שלא במתכוון ללמוד אותם, למשל SQL זו השפה שבה כתובות השאילתות באקסס, כשאתה עורך שאילתא בתצוגת עיצוב ומוסיף שדות עם תנאים וכו, תוכל לעבור אח"כ לתצוגת SQL ולראות איך נראית השאילתא בשפת SQL. אגב, אם תרצה לכתוב שאילתות מורכבות כמו איחוד או בדיקה האם רשומה לא נמצאת בטבלה אחרת, תצטרך להכיר קצת SQL.
    לגבי WinForms זו הסביבה של פיתוח הטפסים, בטח שמת לב שלכל טופס יש אירועים מקושרים וכן מאפיינים שונים. רוב התוכנות השולחניות כיום עדיין משתמשות בטכנולוגיה של WinForms, למרות שהיא מיושנת מבחינת יכולות וביצועים. ז"א אם תרצה למשל לכתוב תוכנה בC# תוכל לעצב עדיין את הטפסים בממשק די דומה לשל Access.
    ואת VisualBasic אתה מכיר כבר, כי VBA היא תת קבוצה של ויזואל בייסיק, שנקראת Visual Basic for Applications או בקיצור VBA. כך שאם תתחיל לכתוב בVB התחביר דומה מאד...

    אגב איך אתה התקדמת?? רק ממדריכים באנגלית??

    אני התחלתי כך, והמשכתי דרך סרטונים ביוטוב של סטיב בישופ, הוא מסביר מאד ברור ומקיף את רוב התכונות של Access. אבל הלימוד האמיתי הוא להתמודד עם פרוייקטים מהפשוטים עד המורכבים יותר, כך מקבלים הבנה מקיפה יותר של כל הרכיבים.


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אמר בשדה מחושב באקסס:

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

    אני יכול להזדהות עם זה. אני עד היום מפתח באקסס ואפשר לעשות עם אקסס כמעט הכול כשזה נוגע לתוכנה שולחנית של עיבוד נתונים, ובהרבה יותר קלות ומהירות. הלוואי ומיקרוסופט היו משקיעים בפיתוח של המוצר הזה יותר. חוץ מזה, אקסס היא כמו סם כניסה (סליחה על הביטוי) לשאר טכנולוגיות כמו SQL, WinForms, VisualBasic ...


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    אם אתה מתכוון להתפתח בכיוון של פיתוח תוכנה, אני מציע לך להתחיל כבר ללמוד סביבות יותר עדכניות כמו C#


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אמר בשדה מחושב באקסס:

    יש לי מה ללמוד מזה או שדברים השתנו וחבל על הזמן??

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    מצאתי את זה, הנה:
    accesspart1-beginner.pdf
    accesspart2-developer.pdf
    accesspart3-programmer.pdf
    accesspart4-advanced.pdf


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אמר בשדהה מחושב באקסס:

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

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


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב אמר בשדהה מחושב באקסס:

    סתם מעניין איך אני אמור לכתוב את מה שאתה כתבת??

    בעורך השאילתות יש תצוגת SQL


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב בדיוק!


  • שדה מחושב באקסס
    OdedDvirO OdedDvir

    @יהודי-טוב
    תבנה טופס שמבוסס על שאילתא
    SELECT Client.ClientName, Purchase.PurchaseDate AS LastPurchaseDate
    FROM Purchase INNER JOIN Client ON Purchase.ClientID = Client.ID
    GROUP BY Client.ClientName, Purchase.PurchaseDate;


  • שירות לקוחות ושדרוגים של מתכנת עצמאי
    OdedDvirO OdedDvir

    @חוקר אמר בשירות לקוחות ושדרוגים של מתכנת עצמאי:

    אבל בדברים ממש קלים, לא תמיד הוא יבין, בפרט כשידוע לו שזה כן התחום וכדומה.

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


  • שירות לקוחות ושדרוגים של מתכנת עצמאי
    OdedDvirO OdedDvir

    למה לא לומר את האמת:

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

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

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

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

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