עבור לתוכן

בעיה עם SELECT ב SQL ב VB (מרוב שיש לי בעיות אני פשוט מוסיף שאלות, :()

Featured Replies

פורסם

שלום, יש לי בעיה כשאני מנסה להשתמש במשהו מסויים בSQL ב Visual basic

יש לי FORM שבו יש DATA (data1) ואני רוצה שהמשתמש יכניס את הסכום כסף שהוא רוצה שיהיה מינימום \ מקסימום מחיר, ואז זה יציג רק מוצרים מעל\מתחת למחיר המצויין

 x = Val(Text4.Text)
s = "SELECT * FROM table1 where price>x"
Data1.RecordSource = s
Data1.Refresh

]

זה עובד עם במקום של ה

price>x

אני רושם

 price> 777

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

הוא נותן את הארור הבא: Too few parameters. Expected one

ומסמן בצהוב את השורה

Data1.Refresh

(לא נראה לי שזה אומר שהבעיה בשורה זו...)

תודה לעוזרים!

פורסם

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


x = Val(Text4.Text)
s = "SELECT * FROM table1 where price>" & cstr(x)
Data1.RecordSource = s
Data1.Refresh

פורסם
  • מחבר

ווי בונא אתה שולט!!! :xyxthumbs::yelclap::jump:

מאיפה הבאת את זה?

וכזה מהר!!

אני אוהב אותך =]

תודה רבה...

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

תודה!

פורסם
  • מחבר

יש לי עוד בעיה :P

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

אז איך אני יכול לדעת את זה? כאילו ב

s = "SELECT * FROM table1 where price>" & cstr(x)

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

פורסם

אם יש לך טווח מחירים מוכן מראש אז אתה יכול לעשות:


x=inputbox("Enter Price")
while ( x<MIN_PRICE Or x>MAX_PRICE )
x=inputbox("Enter Price")
wend

זה יבדוק את תקינות

X

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


const MIN_PRICE=50
const MAX_PRICE=200

פורסם
  • מחבר

תודה רבה!

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

אני כבר אחשוב על משהו =]

פורסם

אתה בודק אם הRECORD COUNT הוא 0

פורסם
  • מחבר

בעע יש לי עוד בעיה :(

אני כבר שעה יושב על זה ולא מצליח לסדר!

יש לי טופס שבו יש Data1, הוא שם את כל השדות מה Access לתיבות TEXT ב Visual basic

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

לפי מה שהבנתי, הפקודה לעשות את זה היא

INSERT INTO

אז מה שרשמתי זה זה:

Insert Into Orders (code ,name ,type ,kamut ,kamutmelay ,price, Oprice) Values(code.Text, Text2.Text, Text3.Text, Text5.Text, kamut.Text, Text1.Text, Oprice.Text)

או אם תרצו דוגמה יותר קצרה:

INSERT INTO table (field) VALUES('value')

וניסיתי גם בטבלאות אחרות... וגם בטבלא של ה Data1 עצמו, עם קצת ערכים, גם ניסיתי Delete

DELETE FROM table

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

Compile error
Excpected: end of statement

ניסיתי, שיניתי, חיפשתי באינטרנט, במדריכים  :kopfpatsch:

לא מצאתי... אשמח אם תעזרו לי...

פורסם

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

את

Insert Into Orders (code ,name ,type ,kamut ,kamutmelay ,price, Oprice) Values(code.Text, Text2.Text, Text3.Text, Text5.Text, kamut.Text, Text1.Text, Oprice.Text)

תהפוך ל-


"Insert Into Orders (code ,name ,type ,kamut ,kamutmelay ,price, Oprice) Values('" & code.Text & "', '" & Text2.Text & "', '" & Text3.Text & "', '" & Text5.Text & "', '" & kamut.Text & "', '" & Text1.Text & "', '" & Oprice.Text & "')"

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

פורסם
  • מחבר

די

אני כזה אדיוט...

כשיש לי את זה דרך איזו פקודה אני מעביר אותו ל database...

ניסיתי את זה

s = "Insert Into Orders (code ,name ,type ,kamut ,kamutmelay ,price, Oprice) Values(" & code.Text & ", '" & Text2.Text & "', '" & Text3.Text & "', " & Text5.Text & ", " & kamut.Text & ", " & Text1.Text & ", " & Oprice.Text & ");"
'Data1.RecordSource = Orders
Data1.Database.Execute = s
Data1.Update
'Data1.RecordSource = table1

מצטער שאני דביל אבל אני פשוט דביל...

איפה הבעיה שליייי =[

פורסם

מה הוא אומר לך?

פורסם
  • מחבר

הוא אומר לי:

Compile error:

Argument not optional

פורסם

ושורה?

פורסם
  • מחבר
Data1.Database.Execute = s
ןמשחיר את ה
.Execute =

פורסם

בלי =

ארכיון

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

דיונים חדשים