עבור לתוכן

עזרה בVisualBasic בשילוב עם שאילתא שתציג רשומות ממפתח זר בטבלה אחרת -פרטים בפנים

Featured Replies

פורסם

Dim findmark As String

Dim reckmark

Dim str

findmark = InputBox("הכנס מספר קבוצה לאיתור קבוצה מבוקשת")

If Len(findmark) = 0 Then Exit Sub

With Adodc1.Recordset

recmark = .Bookmark

.MoveFirst

.Find "num_kvuza = '" + findmark + "'"

str = " select * from hanichim where num_kvuza =" & num_kvuza & " "

Adodc2.RecordSource = str

Adodc2.Refresh

If .EOF Then

MsgBox "קבוצה לא נמצאה"

       .Bookmark = recmark

End If

End With

בעקרון זה ככה  : יש שניי טבלאות , אחת חניכים והשניה קבוצות.

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

התוכנית לא הצליחה לעבוד בשל השגיעה לאחר החיפוש

2223pn.png

225ou.png

תודה לכל העוזרים.

פורסם

תנסה:


Dim findmark As String
Dim reckmark
Dim str
findmark = InputBox("הכנס מספר קבוצה לאיתור קבוצה מבוקשת")
If Len(findmark) = 0 Then Exit Sub
With Adodc1.Recordset
recmark = .Bookmark
str = " select * from hanichim where num_kvuza =" & findmark
Adodc2.RecordSource = str
Adodc2.Refresh
If .EOF Then
MsgBox "קבוצה לא נמצאה"
.Bookmark = recmark
End If
End With

פורסם
  • מחבר

אותה בעייה אחי, יש לך מושג ממה זה נובע?

תודה מראש, אני חייב להגיש את זה מחר...

11115an.png

פורסם

טוב תן לי להבין אם הבנתי נכון

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

DATAGRID

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

Public cn As ADODB.Connection

Public rs As ADODB.Recordset

Public st$

Set rs = New ADODB.Recordset

st = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_the_name.mdb"

cn.ConnectionString = st

cn.Open

rs.Open "select * from kvuza", cn, adOpenDynamic, adLockPessimistic

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB_the_name.mdb;Persist Security Info=False"

Adodc1.RecordSource = " select * from hanichim where num_kvuza =" & rs(the location of the coulomn)

Set DataGrid1.DataSource = Adodc1

טוב מקווה שהבנת

בעיקרון

הוא מגדיר ש RS מכיל בתוכו עכשיו את כל הרשומות שבטבלת קבוצות ואז

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

רק תזכור שאתה צריך לקדם את RS עד השורה הרצוייה

ולבסוף הוא פשוט אומר ש DataGrid1 יכיל רק את החלק הרצוי

ואל תשכח לעשות לזה ריענון

מקווה שעזרתי

פורסם
  • מחבר

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

אני צריך לקלוט את מספר הקבוצה ואחרי הקליטה הוא מראה בdatagrid את החניכים שנמצאים במס' הקבוצה שקלטתי.

ועוד משהו, אני אהיה אסיר תודה אם תרשמו לי את הקוד כי אני מסתבך עם הסברים :P

תודה על העזרה.

פורסם

בכללי

נראה לי שמספיק שתעשה את הדבר הבא

Set DataGrid1.DataSource = Adodc1

כאשר Adodc1 מכיל את הרשומות הרצויות

אל תגדיר את ה DataGrid1.DataSource בהתחלה במאפיינים שיכיל את הנתונים המבוקשים(דהיינו ADODC1), אלא באמצעות הפקודה שרשמתי לך

ואז תעשה

datagrid1.refresh

פורסם

בוא נעשה קצת סדר בבלגאן.

תרשום בבקשה את שמות שתי הטבלאות שיש לך במסד הנתונים.

כמו כן תרשום את שמות הרשומות שיש בכל אחת מהן וגם כמה ערכים לדוגמא.

בסוף תרשום אילו שאילתות אתה מעוניין לבצע.

אני אנסה לבנות תרחיש קרוב ככל שניתן למה שאתה מבקש ואני ארשום אותו פה.

ארכיון

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

דיונים חדשים