PDA

View Full Version : پارامتر به جاي عدد در sql



فردان فردان
شنبه 06 شهریور 1389, 10:00 صبح
با سلام
بنده از كد زير در كوئري استفاده كردم. هيچ مشكلي ندارد و جواب مي دهد:

SELECT TOP 10 table1.*, *
FROM table1;

ولي وقتي مي خواهم از پارامتر به جاي عدد 10 استفاده كنم در همانجا ايراد گرفته مي شود (قبل از اجرا)

SELECT TOP Forms![Form1]![Text0] table1.*, *
FROM table1;

اشكال زير:

The SELECT statement includes a prserved word or an argument name that is
misspelled or missing, or the punctuation is incorrect


خواهشمندم جهت رفع اشكال راهنمايي بفرماييد.
با تشكر فروان

amirzazadeh
شنبه 06 شهریور 1389, 10:46 صبح
با سلام
بنده از كد زير در كوئري استفاده كردم. هيچ مشكلي ندارد و جواب مي دهد:

SELECT TOP 10 table1.*, *
FROM table1;
ولي وقتي مي خواهم از پارامتر به جاي عدد 10 استفاده كنم در همانجا ايراد گرفته مي شود (قبل از اجرا)

SELECT TOP Forms![Form1]![Text0] table1.*, *
FROM table1;
اشكال زير:

The SELECT statement includes a prserved word or an argument name that is
misspelled or missing, or the punctuation is incorrect


خواهشمندم جهت رفع اشكال راهنمايي بفرماييد.
با تشكر فروان

سلام
ببينيد اين كد جواب ميده:

SELECT TOP Cint(Forms![Form1]![Text0]) table1.*, *
FROM table1;

فردان فردان
شنبه 06 شهریور 1389, 11:09 صبح
متاسفانه همان اشكال را مي گيرد!!!

amirzazadeh
شنبه 06 شهریور 1389, 11:31 صبح
متاسفانه همان اشكال را مي گيرد!!!
لطفا نمونه خودتون رو اپلود كنيد.

فردان فردان
شنبه 06 شهریور 1389, 11:51 صبح
لطفا نمونه خودتون رو اپلود كنيد.

نمونه اين است:

amirzazadeh
شنبه 06 شهریور 1389, 13:55 عصر
نمونه اين است:
سلام
لطفا نمونه اصلاح شده رو ببينيد:

Private Sub Command2_Click()

Dim dbf As Database, qdf As QueryDef, strSQL As String
Set dbs = CurrentDb

On Error Resume Next
DoCmd.DeleteObject acQuery, "ListTop"

strSQL = "SELECT TOP " & Me.Text0 & " * FROM table1 "
Set dbf = DBEngine.Workspaces(0).Databases(0)
Set qdf = dbf.CreateQueryDef("ListTop", strSQL)
DoCmd.OpenQuery "ListTop"


End Sub
.....................
موفق باشيد