Office中国论坛/Access中国论坛

标题: 急:记录集不能显示到文本框中 [打印本页]

作者: lihao6    时间: 2002-6-1 00:19
标题: 急:记录集不能显示到文本框中
见代码
Private Sub Command2_Click()

Dim mydb As Database, myset As Recordset
If ([Combo5] = "" Or IsNull(Combo5)) Then
   MsgBox "请选择物料代码!"
   [Combo5].SetFocus
   Exit Sub
End If

On Error Resume Next
Set mydb = DBEngine.Workspaces(0).Databases(0)

Set myset = mydb.OpenRecordset("select on_hand_qty from dbo_inv_stock_detail_v where dbo_inv_stock_detail_v.item_code='&[combo5]&' and dbo_inv_stock_detail_v.warehouse='&A01&'")
If Not (IsNull(myset!on_hand_qty)) Then
Forms![stock]![Text11] = myset!on_hand_qty
End If
myset.Close
  
Set myset = mydb.OpenRecordset("select on_hand_qty from dbo_inv_stock_detail_v where dbo_inv_stock_detail_v.item_code='&[combo5]&' and dbo_inv_stock_detail_v.warehouse='&A02&'")
If Not (IsNull(myset!on_hand_qty)) Then
Forms![stock]![Text13] = myset!on_hand_qty
End If
myset.Close

  Set myset = mydb.OpenRecordset("select on_hand_qty from dbo_inv_stock_detail_v where dbo_inv_stock_detail_v.item_code='&[combo5]&' and dbo_inv_stock_detail_v.warehouse='&A03&'")
If Not (IsNull(myset!on_hand_qty)) Then
Forms![stock]![Text15] = myset!on_hand_qty
End If
myset.Close

  Set myset = mydb.OpenRecordset("select on_hand_qty from dbo_inv_stock_detail_v where dbo_inv_stock_detail_v.item_code='&[combo5]&' and dbo_inv_stock_detail_v.warehouse='&A04&'")
If Not (IsNull(myset!on_hand_qty)) Then
Forms![stock]![Text17] = myset!on_hand_qty
End If
myset.Close

End Sub

记录集中有结果但窗体的文本框中没有任何显示,请问原因


[此贴子已经被lihao6于2002-5-31 16:19:14编辑过]


作者: 大熊    时间: 2002-6-1 01:03
lihao版主,可不可以用DLookup吗?
作者: lihao6    时间: 2002-6-1 01:11
好提议,我试试。但是这段代码的问题是什么?
作者: midcloudy    时间: 2002-6-1 01:16
'&[combo5]&'应改为'" & [combo5] & "'
作者: midcloudy    时间: 2002-6-1 01:17
'&A01&'应改为'A01'
作者: lihao6    时间: 2002-6-1 01:35
不行呀,没用。我快晕了
作者: zhuyiwen    时间: 2002-6-1 01:42
以下是引用lihao6在2002-5-31 17:34:36的发言:
不行呀,没用。我快晕了


lihao6版主,最好的办法是把mdb文件贴到论坛上来,大家好帮你试试。

[em23][em12][em23]
作者: lihao6    时间: 2002-6-1 16:22
多谢诸位热心的朋友。但文件很大,而且涉及到sql的链接表。所以恐怕传不上来
问题出在[combo5]的值不能传递。 如果我将[combo5]直接代入字符串,结果可以出来。(用DLookup效果一样)。于是我设了一个字符串变量mystr来储存[combo5]。mystr = "&[Combo5]&"然后调试跟踪mystr的值,结果是值不能传递到mystr,跟踪的结果是“值溢出上下文”。请问该如何修改?
作者: 大熊    时间: 2002-6-1 17:29
1.[combo5] 和 A01的值都是字符串还是数值?
2.你设的是mystr = "&[Combo5]&" 还是 mystr = [Combo5]
作者: lihao6    时间: 2002-6-1 17:49
谢谢诸位。问题终于找到了。原来是[combo5]的行来源是三个字段(显示的时候只显示 一个)“SELECT DISTINCTROW dbo_inv_stock_detail_v.item_code, dbo_epd_item_master.item_name, dbo_epd_item_master.item_spec FROM dbo_inv_stock_detail_v INNER JOIN dbo_epd_item_master ON dbo_inv_stock_detail_v.item_code = dbo_epd_item_master.item_code;”
所以我把" & [combo5] & "改为了" & [Combo5].[Column](0) & ",问题得到解决。
哎,疏忽造成的恶果。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3