问题描述:
1.我通过ACCESS ADP项目链接到SQL
2.有Tab_St表结构如下:
   ID  code   name
   1   0001   gary
   2   0002   woody
   3   0003   tom
3.有通过表建立的存储过程Req_St
  我在Req_St的name字段的条件那一栏输入:LIKE N'%"+[Form]![Frm_St]![Txt1]+"%"'
4.有通过Req_St建的子窗体Frm_St
5.有主窗体Main
   主窗体有Text控件Txt1
   主窗体有按钮控件Com1 其单击事件如下:
   Private Sub Com1_Click()
     Me.Req_St.Requery
   End Sub数据库版本:SQL server 2000需求说明:
1.帮忙解决红字部分的Like语句使用窗体控件做变量是怎么写法?
2.在Txt1里输入内容,点击Com1能正确执行模糊查询,获得的结果显示在子窗体里面

解决方案 »

  1.   

    你的语句出现LIKE N'%"+[Form]![Frm_St]![Txt1]+"%"',已经不能走索引了,那么就用where charindex(@变量,字段名)>0,这么写就不用那么麻烦。,直接在窗体设置好,把参数放变量传进来即可
      

  2.   

    谢谢TravyLee,还得再问一下:
    我声明了一个变量:
    @value1 varchar然后还有2个问题1.不知道怎么把窗体的TXT1的值传给value1,麻烦再解释一下
    2.我打开存储过程,在跳出的value1的对话框输入g也没有出现第一条记录,一条记录都没有!
      

  3.   

    你那个传参数我不懂。你得是前台程序得到窗体的参数,然后给变量,再把变量传到语句。不是有SQL来得到那个东西的。
    没出现记录狠了能使语句不对,或者表里没对应数据
      

  4.   

    第二个问题是因为我声明的类型和name的数据类型不一致第一个问题目前真纠结住了:好像在ACCESS 里面很容易实现的过程到SQL里面就变得很复杂了,当然是因为我不懂SQL的原因!我现在直接:
    public value1 as string
    value1=form_main.txt1.value反正通不过,想不到别的办法了!