SQL头疼 [英] SQL headache

查看:54
本文介绍了SQL头疼的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!


frmOrders上的按钮会让用户返回订单。但是......


以下SQL让我头疼:


strPutBack =" INSERT INTO tblAmountItems(金额,MyDate,返回) _

& SELECT Amount,MyDate,Returned _

& FROM tblOrderdetails _

& WHERE tblOrderdetails.Returned = True

AND tblOrderdetails.ItemID = Forms!frmOrders!frmOrderdetails!ItemID

AND tblOrderdetails.OrderID = Forms!frmOrders!OrderID;"


CurrentDb.Execute strPutBack,dbFailOnError


我在另一个按钮上有一个类似的构造,它工作得很好。

我得到的错误信息是:


错误:#3061参数太少。预计2


现在,如果我将最后一个查询过滤器更改为:


.... AND tblOrderdetails.OrderID =" &安培;我!订单ID


我得到:错误:#3061参数太少。预计1


任何人都能看到我不知道的东西吗?


Me.Name


Geir Smevig-Baardsen

MCP
http:// www .geirb.info

*******************

*不要回复我的

*电子邮件。

*回复团体

* :-)

*

*

*******************

Hi!

A button on frmOrders will let user return an order. But...

The following SQL is giving me a headache:

strPutBack = "INSERT INTO tblAmountItems(Amount,MyDate,Returned) " _
& "SELECT Amount,MyDate,Returned " _
& "FROM tblOrderdetails " _
& "WHERE tblOrderdetails.Returned = True
AND tblOrderdetails.ItemID = Forms!frmOrders!frmOrderdetails!ItemID
AND tblOrderdetails.OrderID = Forms!frmOrders!OrderID;"

CurrentDb.Execute strPutBack, dbFailOnError

I have a similar construct in another button and it works just nice.

The error message I get is:

Error: #3061 Too few parameters. Expected 2

Now, if I change the last query filter to:

....AND tblOrderdetails.OrderID = " & Me!OrderID

I get: Error: #3061 Too few parameters. Expected 1

Can anyone see what obviously I don''t?

Me.Name

Geir Smevig-Baardsen
MCP
http://www.geirb.info
*******************
*Don''t reply to my
*email.
*Reply to group
*:-)
*
*
*******************

推荐答案

将文本框中的值连接成字符串:


strPutBack =" INSERT INTO tblAmountItems(Amount,MyDate,Returned)" _

& SELECT Amount,MyDate,Returned _

& FROM tblOrderdetails _

& WHERE(tblOrderdetails.Returned = True)" _

& ")AND(tblOrderdetails.ItemID ="&

Forms!frmOrders!frmOrderdetails!ItemID _

&")AND(tblOrderdetails.OrderID =" & Forms!frmOrders!OrderID&");"


如果字段是文本类型,则需要额外的报价。

不工作如果字段为空则正确。


-

Allen Browne - Microsoft MVP。西澳大利亚州珀斯。

访问用户提示 - http:// allenbrowne.com/tips.html

回复群组,而不是mvps dot org的allenbrowne。


" Krij" < GS *** @ start.no>在消息中写道

news:11 ********************** @ b68g2000cwa.googlegr oups.com ...
Concatenate the values from the text boxes into the string:

strPutBack = "INSERT INTO tblAmountItems(Amount,MyDate,Returned) " _
& "SELECT Amount,MyDate,Returned " _
& "FROM tblOrderdetails " _
& "WHERE (tblOrderdetails.Returned = True) " _
& ") AND (tblOrderdetails.ItemID = " &
Forms!frmOrders!frmOrderdetails!ItemID _
& ") AND (tblOrderdetails.OrderID = " & Forms!frmOrders!OrderID & ");"

Extra quotes needed if the fields are Text type.
Won''t work correctly if the fields are null.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Krij" <gs***@start.no> wrote in message
news:11**********************@b68g2000cwa.googlegr oups.com...

frmOrders上的按钮将允许用户返回订单。但是......

以下SQL让我头疼:

strPutBack =" INSERT INTO tblAmountItems(Amount,MyDate,Returned)" _
& SELECT Amount,MyDate,Returned _
& FROM tblOrderdetails _
& WHERE tblOrderdetails.Returned = True
AND tblOrderdetails.ItemID = Forms!frmOrders!frmOrderdetails!ItemID
AND tblOrderdetails.OrderID = Forms!frmOrders!OrderID;"

CurrentDb .Execute strPutBack,dbFailOnError

我在另一个按钮中有一个类似的构造,它工作得很好。

我得到的错误信息是:

错误:#3061参数太少。预计2

现在,如果我将最后一个查询过滤器更改为:

... AND tblOrderdetails.OrderID =" &安培;我!订单ID

我得到:错误:#3061参数太少。预计1

任何人都可以看到我不知道的是什么?

A button on frmOrders will let user return an order. But...

The following SQL is giving me a headache:

strPutBack = "INSERT INTO tblAmountItems(Amount,MyDate,Returned) " _
& "SELECT Amount,MyDate,Returned " _
& "FROM tblOrderdetails " _
& "WHERE tblOrderdetails.Returned = True
AND tblOrderdetails.ItemID = Forms!frmOrders!frmOrderdetails!ItemID
AND tblOrderdetails.OrderID = Forms!frmOrders!OrderID;"

CurrentDb.Execute strPutBack, dbFailOnError

I have a similar construct in another button and it works just nice.

The error message I get is:

Error: #3061 Too few parameters. Expected 2

Now, if I change the last query filter to:

...AND tblOrderdetails.OrderID = " & Me!OrderID

I get: Error: #3061 Too few parameters. Expected 1

Can anyone see what obviously I don''t?



Allen Browne< Al ***** ****@SeeSig.Invalid>写道:

:将文本框中的值连接成字符串:


:strPutBack =" INSERT INTO tblAmountItems(Amount,MyDate,Returned)" ; _

:& SELECT Amount,MyDate,Returned _

:& FROM tblOrderdetails _

:& WHERE(tblOrderdetails.Returned = True)" _

:& ")AND(tblOrderdetails.ItemID ="&

/ \

||我认为这是一个太多的括号。

--thelma

------------------------------------- --------


:Allen Browne - 微软MVP。西澳大利亚州珀斯。

:访问用户提示 - http://allenbrowne.com/tips.html

:回复小组,而不是在mvps dot org的allenbrowne。
Allen Browne <Al*********@SeeSig.Invalid> wrote:
: Concatenate the values from the text boxes into the string:

: strPutBack = "INSERT INTO tblAmountItems(Amount,MyDate,Returned) " _
: & "SELECT Amount,MyDate,Returned " _
: & "FROM tblOrderdetails " _
: & "WHERE (tblOrderdetails.Returned = True) " _
: & ") AND (tblOrderdetails.ItemID = " &
/\
|| I think that this is one parenthesis too many.
--thelma
---------------------------------------------

: Allen Browne - Microsoft MVP. Perth, Western Australia.
: Tips for Access users - http://allenbrowne.com/tips.html
: Reply to group, rather than allenbrowne at mvps dot org.


嗨!


抱歉...我在粘贴代码时犯了一个错误。没有括号。

没有文本框。''金额''是一个整数,''MyDate''是日期/时间

和''返回' '是一个是/否字段。


两个表中的字段相同。


我想知道......我''我在安装了Win XP Pro和Office XP的机器上运行这个ms访问db 2000。这可能是一个问题?


我还有一些其他的特点,所以也许其他人对这种配置有任何

的体验?

对#Error 3061的任何建议?


Thelma Lubkin skrev:
Hi!

Sorry...I made a mistake in pasting code. There are no parenthesis.
There are no textboxes. ''Amount'' is an integer, ''MyDate'' is Date/Time
and ''Returned'' is a Yes/No field.

The fields are identical in both tables.

I was wondering....I''m running this ms access db 2000 on a machine with
Win XP Pro installed and Office XP. Could this be an issue?

I''ve had some other pecularities, so maybe others have had any
experience with this configuration?

Any suggestion to #Error 3061?

Thelma Lubkin skrev:
Allen Browne< Al ***** ****@SeeSig.Invalid>写道:
:将文本框中的值连接成字符串:

:strPutBack =" INSERT INTO tblAmountItems(Amount,MyDate,Returned)" _
:& SELECT Amount,MyDate,Returned _
:& FROM tblOrderdetails _
:& WHERE(tblOrderdetails.Returned = True)" _
:& ")AND(tblOrderdetails.ItemID ="&
/ \
||我认为这是一个太多的括号。
--thelma
--- ------------------------------------------

:Allen Browne - 微软MVP。西澳大利亚州珀斯。
:访问用户提示 - http://allenbrowne.com/tips.html
:回复群组,而不是mvps dot org的allenbrowne。
Allen Browne <Al*********@SeeSig.Invalid> wrote:
: Concatenate the values from the text boxes into the string:

: strPutBack = "INSERT INTO tblAmountItems(Amount,MyDate,Returned) " _
: & "SELECT Amount,MyDate,Returned " _
: & "FROM tblOrderdetails " _
: & "WHERE (tblOrderdetails.Returned = True) " _
: & ") AND (tblOrderdetails.ItemID = " &
/\
|| I think that this is one parenthesis too many.
--thelma
---------------------------------------------

: Allen Browne - Microsoft MVP. Perth, Western Australia.
: Tips for Access users - http://allenbrowne.com/tips.html
: Reply to group, rather than allenbrowne at mvps dot org.






这篇关于SQL头疼的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆