עבור לתוכן

עבודת פרוייקט גמר - עזרה בקוד Visual Basic (*עודכן*)

Featured Replies

פורסם

הודעה ראשונה שלי בפורום תכנות אני חושב  8)

התהליך המצולם מתאר : רישום גליונות חדשים לחולה, אם חולה מגיע וכבר היו לו גליונות קודמים (שהצבתי בעצמי בDB שהוא הACCESS - אז מספר הגליון הבר שלו יקפוץ ב + 1) אז נפתח לו גיליון , מס' התיק נתון ומספר הגליון אמור להיתווסף לפי התנאי שהיצבתי .

לפני זה לא היה תנאי והקוד הבא היה רשום:

Private Sub Command2_Click()

SSTab1.Visible = True

txt_ms_tik.Text = lbl_ms_tik.Caption

Adodc2.Recordset.MoveLast

txt_ms_gilyon.Text = Adodc2.Recordset.Fields(1) + 1

End Sub

המצב היה שחולים בעליי גיליונות שהיו כבר רשומים בDATABASE מס' הגליון שלהם קפץ באחד ואם אני פותח גליון חדש לחולה שלא היו גליונות קודמים אז אני אמור להתחיל את המונה מחדש נגיד שהגליון הראשון יהיה 000001 ואם אני פותח לו גליון נוסף אז מן הסתם יהיה 000002 .

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

חלק מהתוכנית שאמורה להכניס אתכם יותר לתמונה:

png4gr.png

http://img130.echo.cx/img130/6858/png4gr.png

מקווה שיש כאן מביניי עניין  :xyxthumbs:

פורסם

פששששששששש מגניב....

פורסם

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

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

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

פורסם

תנסה להשתמש ב- Data1.Recordset.RecordCount

.

זה צריך לעבוד לך.

פורסם
  • מחבר

:yelclap: :yelclap: :yelclap:

:xyxthumbs: :xyxthumbs: :xyxthumbs:

:jump: :jump: :jump:

כן זה הצליח, תודה :xyxthumbs:

פורסם
  • מחבר

עוד כמה בקשות:

1. במקום שאני אקלוט ידנית את התאריך של היום לרישום הגליון החדש של החולה, שהתאריך יועתק/ילקח אוטומטית מ"זמן המערכת".

היום התאריך 16/05/2004 אז שאני פותח גיליון חדש, שהקוד יציב את התאריך בשדה שתואר בתמונה.

untitled4go.png

http://img157.echo.cx/img157/3817/untitled4go.png

2. שמתי לב שגם בדיקת כפילויות אני אמור לעשות , ז"א אם קיים מס' תיק 300123401 ואני קולט תיק חדש לחולה עם אותו מספר תיק אז מופיעה שגיאה - איך אני בודק שאין כפילויות? (שהוא יסרוק את כל מס' התיק הקיימים ויודיע אם קיים תיק כזה כבר)

untitled28ie.png

http://img160.echo.cx/img160/5909/untitled28ie.png

פורסם

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

פורסם

תנסה לעשות את הFORMים שלך בתור RIGHT TO LEFT וגם את כל הפקדים שם, שיראה יותר יפה.

אתה יכול להגדיר 2 שדות בתור מפתח ראשי, ואז זה אוטו משנה לך את שניהם.

פורסם

בקשר לראשון

פשוט תעשה Text1.value=date או שזה Text1 = date אני לא ממש זוכר

בקשר לשני

אתה צריך לעשות פונקציה שתרוץ מהשדה הראשון ותשווה  ותעשה לולאה של Move Next וכל פעם תבדוק ואז במקרה שנמצא כפילות תן איזה הודעה או משהו

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

דרך אגב גם לי יש פרויקט גמר בVB, אני בטוח שנוכל להעזר אחד בשני

אז אם אתה רוצה זה האיי סיי שלי 1171091

  • 4 שבועות מאוחר יותר...
פורסם
  • מחבר

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

לינק לתמונה

122ku.png

הבעייה היא איך אני משווה בין שניי שדות בטבלה  :s05:

פורסם

תוסיף ל- where:

kamut<=kamut_min.

ב- kamut_min תשים אוטו 0, וכך תוכל להימנע מההשוואה השניה.

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

פורסם

מניעת הקלדה כפולה:

נניח שלתיבה קוראים txtID והשדה הוא ID בטבלה בשם Table.



sSQL = "Select * From [Table] Where ID='" & txtID.text & "'"
objRs.Open SQL, objConn

If not ( objRs.EOF or objRs.BOF ) Then
msgbox "Enter another ID"
End If

objRs.Close

הסבר:

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

בקשר לכמות המינימום:

האם כמות המינימום שונה מתרופה לתרופה ונמצאת בטבלה אחרת ?

פורסם
  • מחבר

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

אני משתמש בDataEnvironment.

Pure-Gold , כמות המינימום שונה מתרופה לתרופה.

יש בעייה בהרצה שנייה של דוחות:

לינק: http://img205.echo.cx/img205/1452/11ak.png

תודה.

פורסם

כאשר תרופה מגיעה לכמות מינימום:

SQL = "Select * From [trufot]"

objRs.Open SQL, objConn

Do while not objRs.Eof
if objRs("kamut").value <= objRs("kamut_min").value
'Bla Bla
end if
objRs.MoveNext
Loop

objRs.Close

פורסם
  • מחבר

יש בעייה בהרצה שנייה של דוחות:

לינק: http://img205.echo.cx/img205/1452/11ak.png

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

הבעייה הנוכחית היא זו ::)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים