עזרה בבקשה!!

izzy88

New member
עזרה בבקשה!!

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

davidea

New member
דוח בנוי משאילתה או טבלה אז...

אני ממליץ לבנות שאילתה לדוח. כי בשאילתה ניתן לסמן את סוג המיון הרצוי. אם את משתמשת ב DataReport המבוסס על Command ב DataEnvironmet, אז מאד קל להגדיר את ה Command כתוצאה של View (באקסס זה שאילתה). אם אין לך שאילתות באקסס, רק טבלאות, אז כשאת יוצרת את ה Command תבקשי שה command יהיה על בסיס Sql Statement ואז תלחצי על SQL Builder ואת מקבלת מסך מאד דומה לזה שבאקסס (אם את מכירה אותו). יש שם אפשרות לבחור טבלה או טבלאות, לבחור את השדות ולסמן ליד השדה את Sort Type (סדר עולה או יורד) ואת Sort Order (מיון ראשוני, משני וכד' - לדוגמה שם משפחה יהיה מספר 1 ושם פרטי מספר 2)
 

davidea

New member
הנה כך:

אני מציין את כל השמות באנגלית בכדי שהקוד יהיה נקי. כל השמות לשיקולך. יש לך DataEnviroment בשם MyDe יש לך Command בשם CmdPrintMe המייצר Recordset בשם rsCmdPrintMe. מקור הנתונים הנוכחי שה Command הוא Select * From Clients יש לך דוח בשם rptClients שמציג את תוצאת ה RecordSet הנ"ל. יש לך במסך ListBox בשם lstCities עם שמות כל הערים. יש לך משתנה MySql מסוג String יש לך במסך לחצן שבו תפעילי את הדוח אחרי שהמשתמש בחר עיר ואשר הקוד בו הוא:
MySql = Select * from Clients where City = lstCities MyDe.rsCmdPrintMe.Source = MySql rptClients.Show vbModal​
 

izzy88

New member
עם המחרוזת,

הוא אומר שיש בעיה עם ה-select. שאין בעצם ביטוי
 

davidea

New member
איך נראה Select שלך?

אגב, צריך גם להוסיף גרש לפני ואחרי המחרוזת אז בדוגמה שלי זה
select * from clients where city = "'" & lstCities & "'"​
אולי גם זו הבעיה [מצטער על ההשמטה קודם]
 

izzy88

New member
הוא אומר שיש בעיה עם מקור המידע

כאילו ה-datasource
 
למעלה