PDA

View Full Version : اتصال بانك و ارور syntax error from clause



new.comer
جمعه 10 اردیبهشت 1389, 08:30 صبح
سلام دوستان
من يه برنامه ساختم با ويژوال بيسيك و بانك اكسس
تو اين برنامه 4 تا تيبل دارم
تو دو تا از فرما يدونه data گذاشتم با يدونه adoc . مشكلم اينه كه فرم اوليه رو بدون مشكلي متصل ميكنم به بانك ( adoc براي سرچ هست )
اما تو فرم دوم كه براي سرچ نام كاربر هست ادوك رو ميتونم وصل كنم اما تكست باكسمو نميتونم به بانك user وصل كنم
اين ارور رو ميده :
syntax eror from clause

نميدونم چيكار بايد بكنم :-؟؟ حتي تو فرم اول م رفتم اينو امتحا كردم ولي بازم نشد !
data به بانكه يوزر متصل ميشه اما adoc نه
خواهشن راهنمايي كنيد منو. و حدالمكان راهنماييتون هم به صورت سورس بدين ( خيلي ساده باشه )

moh3en_f1
جمعه 10 اردیبهشت 1389, 08:40 صبح
من هم همین مشکل رو دارم وقتی میخوام با دستور select جستجو کنم این ارور رو میده

من وقتی میخوام سرچ کنم برنامه ارور میده لطفاً در این مورد هم راهنمایی کنید

این کد رو مینویسم که هر موقع ورودی تو ADO بود به ما نشون بده



کد:
Adodc1.RecordSource = "select * from tableName where name='" & text1 & "'"
Adodc1.Refresh


من از Adodc استفاده کردم و قسمت ارور تو بخش Adodc1.Refresh هستش

لطفاً راهنمایی کنید

new.comer
جمعه 10 اردیبهشت 1389, 11:09 صبح
كسي نيست جواب بده ؟

hrj1981
جمعه 10 اردیبهشت 1389, 13:08 عصر
اگر می تونید سورس کد را قرار دهید؟

new.comer
جمعه 10 اردیبهشت 1389, 14:47 عصر
من تو اون قسمت كه ميخوام كدي ننوشتم ولي ميتونم واضح تر بگم مشكلمو :
يه بانك دارم با 4 تا تيبل. به اسماي book , user , khoroj , vorod
هر كدوم اينا برا خودش يه فرم داره. هر فرم هم با data وصل كردم به بانك ...
اما فرمي كه براي book and user هست شامل دو قسمته. يكي براي ثبت يكي براي جستجو.
ثبتو با data وصل كردم. براي book تونستم جستجو رو با adoc وصل كنم اما واسه جستجوي user وقتي adoc ميزارم و textbox رو كه به adoc وصل ميكنم و ميخوام datafiled ش رو انتخاب كنم اون ارور داده ميشه !!
اما اگه بجاي adoc همون ديتا رو بزارم همچين چيزي نميشه !!

moh3en_f1
جمعه 10 اردیبهشت 1389, 20:32 عصر
با سلام

مشكل من با جستجو حل نشد من ميخوام حتماً جستجو از طريق دستور SQL انجام بشه و در صورت امكان با Adodc باشه.

من الان يه نمونه گذاشتم فقط اين با Data هستش ولي باز هم همون مشكل رو داره
دوستان اگه كسي راهي بلده بگه

يعني يه دستور Select اينقدر سخته ؟؟؟؟؟؟

xxxxx_xxxxx
شنبه 11 اردیبهشت 1389, 11:28 صبح
يعني يه دستور Select اينقدر سخته ؟؟؟؟؟؟
سلام،
این دستوری هست که نوشتید:


Data1.RecordSource = "select * from Table1 where_Name='" & A & "'"

به نظرتون کاراکتر _ بین where و Name اضافی نیست؟

موفق باشید/

kooroush
شنبه 11 اردیبهشت 1389, 13:35 عصر
منم اینو نوشتم ! وصل نمیشه به ADODC اول که ADODC رو گذاشتم رو فرم درست بود اما الان غیر فعاله !
یک نگاهی بهش بکنین !
اکستراکت کنید داخل درایو D:

moh3en_f1
شنبه 11 اردیبهشت 1389, 16:06 عصر
به نظرتون کاراکتر _ بین where و Name اضافی نیست؟


با تشکر از شما

ولی اون کارکتر هیچ تاثیری نداشت و دوباره همون مشکل پا بر جاست
لطفا قبلش امتحان کنید اگه عمل کرد اون سورسش رو برام بزارین
من این سوال رو از خیلی ها پرسیدم ولی کسی نتونست جواب بده واقعا نمیدونم چیکار کنم

به هر حال ممنونم :قلب:

hrj1981
شنبه 11 اردیبهشت 1389, 20:52 عصر
اینو امتحان کن

Dim A As String
A = InputBox("Insert The Name PELESE", "VOrod")
Data1.RecordSource = "select * from Table1 WHERE Name ='" & A & "'"
Data1.Refresh

hrj1981
شنبه 11 اردیبهشت 1389, 20:58 عصر
منم اینو نوشتم ! وصل نمیشه به ADODC اول که ADODC رو گذاشتم رو فرم درست بود اما الان غیر فعاله !
یک نگاهی بهش بکنین !
D:

دوست عزیز چرا کانکشن ها را بوسیله دستوری برقرار نمیکنی ، اینجوری قدرت مانور بر روی داده ها بسیار بالاتر است

xxxxx_xxxxx
شنبه 11 اردیبهشت 1389, 20:59 عصر
با تشکر از شما

ولی اون کارکتر هیچ تاثیری نداشت و دوباره همون مشکل پا بر جاست
لطفا قبلش امتحان کنید اگه عمل کرد اون سورسش رو برام بزارین
من این سوال رو از خیلی ها پرسیدم ولی کسی نتونست جواب بده واقعا نمیدونم چیکار کنم

به هر حال ممنونم :قلب:

وقعاً هیچ تأثیری نداشت؟! شما بین کلمه کلیدی Where و اسم فیلدتون Underline گذاشتید و Syntax دستور SQL رو بهم زدید، اونوقت می فرمایید تأثیری نداشت!
من تست کردم، با حذف Underline دستور به طور صحیح عمل میکنه.

moh3en_f1
یک شنبه 12 اردیبهشت 1389, 13:27 عصر
اینو امتحان کن

Dim A As String
A = InputBox("Insert The Name PELESE", "VOrod")
Data1.RecordSource = "select * from Table1 WHERE Name ='" & A & "'"
Data1.Refresh

دست شما درد نكنه كدتون درست بود:تشویق: فكر كنم مشكل رو پيدا كردم مشكل از اين بود كه من نام رو تو جدول از نوع Text تعريف كردم و اينجا هيچ نوعي براي اون كلمه اي كه جستجو ميكردم تعريف نكرده بودم و مشكل از همينجا بود :قلب:


وقعاً هیچ تأثیری نداشت؟! شما بین کلمه کلیدی Where و اسم فیلدتون Underline گذاشتید و Syntax دستور SQL رو بهم زدید، اونوقت می فرمایید تأثیری نداشت!
من تست کردم، با حذف Underline دستور به طور صحیح عمل میکنه.

واقعاً معذرت ميخوام :افسرده: من شايد منظورم رو بعد رسوندم ولي اينقدر اين سوال را از آدمهاي مختلف پرسيدم كه خودم خسته شدم بعد اين Underlinev رو هم تو يكي از اين جزوه هاي برنامه نويسي ديده بودم شايد اونجا اشتباه نوشته شده بود


از همه ي دوستان تشكر ميكنم كه كمكم كردن باز هم منتظر سوال هاي جديد باشيد :لبخند:

moh3en_f1
سه شنبه 14 اردیبهشت 1389, 13:21 عصر
با سلام مجدد

دوستان من وقتی این دستور با ADOdc مینویسم دوباره همین اخطار میده میخواستم بدونم با Adodc نمیشه جستجو کرد ؟
هر کسی میتونه یه سورس بزاره درباره این جستجو کردن

ممنون و متشکر

niko2008
سه شنبه 14 اردیبهشت 1389, 14:09 عصر
با سلام مجدد

دوستان من وقتی این دستور با ADOdc مینویسم دوباره همین اخطار میده میخواستم بدونم با Adodc نمیشه جستجو کرد ؟
هر کسی میتونه یه سورس بزاره درباره این جستجو کردن

ممنون و متشکر
واقعا یه موضوع مهمی شد باید روش بحث بشه ولی من همین قدر میدونم که این همه توضیحاتی که دوستان دادن نتنها نباید با ADOdc همون اخطار رو بده بلکه باید دوگانه سوز کار کنه.
میتونی از این کد استفاده کنی
Dim A As String
A = InputBox("Insert The Name PELESE", "VOrod")
adodc1.RecordSource = "select * from Table1 WHERE Name ='" & A & "'"
adodc1.Refresh

moh3en_f1
سه شنبه 14 اردیبهشت 1389, 20:54 عصر
واقعا یه موضوع مهمی شد باید روش بحث بشه ولی من همین قدر میدونم که این همه توضیحاتی که دوستان دادن نتنها نباید با ADOdc همون اخطار رو بده بلکه باید دوگانه سوز کار کنه.
میتونی از این کد استفاده کنی
Dim A As String
A = InputBox("Insert The Name PELESE", "VOrod")
adodc1.RecordSource = "select * from Table1 WHERE Name ='" & A & "'"
adodc1.Refresh

بله این یه موضوع خیلی مهم هستش

ولی تو رو خدا ( از همه ی خواهش میکنم ) تو سایت اول کد رو تست کنید بعد بزارید
دوست من این کدی که کدی که گذاشتی همونه دیگه فقط جای DATA گذاشتی ADODC؟؟


ممنون و متشکر

hrj1981
سه شنبه 14 اردیبهشت 1389, 21:13 عصر
دوست عزیز دقیقا مشکل شما در کدام قسمت می باشد؟

hrj1981
سه شنبه 14 اردیبهشت 1389, 21:24 عصر
Dim a As String
a = InputBox("Insert The Name PELESE", "VOrod")
With Adodc1
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db2.mdb;Persist Security Info=False"
.RecordSource = "select * from Table1 where Name ='" & a & "'"
.Refresh
If Not .Recordset.EOF Then
Text1.Text = .Recordset.Fields("نام فيلد مورد نظر")
'تا تکس باکسي که مي خواهي اطلاعات در آن نمايش داده شود

Else
MsgBox "Error"
End If
End With

new.comer
سه شنبه 18 خرداد 1389, 19:12 عصر
با سلام
كلن باز كننده ي بحث بودمو عنايتي هم نشد بهم ... تشكر

همينطور كه گفته بودم تو برنامه اي كه دارم وقتي از adocd استفاده ميكنم برا جدول يوزرام اون اروري رو ميده كه تو تايتل نوشتم. دقيقا وقتي ميخوام برم تو فرم يوزر اين مشكل پيش مياد
بانكو حذف كردم بازم همين مشكل هست
اين عكسو ببينيد

xxxxx_xxxxx
چهارشنبه 19 خرداد 1389, 01:50 صبح
سلام،
مشکل از خود کلمه User هست. User از کلمات کلیدی رزرو شده هست. یا نام این جدول رو تغییر بدید و یا هرجا که نوشتید User به دو طرفش براکت اضافه کنید. به این شکل: [User]

موفق باشید/

new.comer
چهارشنبه 19 خرداد 1389, 07:30 صبح
سلام،
مشکل از خود کلمه User هست. User از کلمات کلیدی رزرو شده هست. یا نام این جدول رو تغییر بدید و یا هرجا که نوشتید User به دو طرفش براکت اضافه کنید. به این شکل: [User]

موفق باشید/

سلام
از شما كمال تشكر رو دارم خيلي كمك كردين بهم