后面加上 where p_n<>chk_altpn

解决方案 »

  1.   

    If Not stock_Record.EOF Then
                  If Not chk_altpn = Trim(stock_Record!P_N) Then
      WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" + M_QREF + "','" + chk_altpn + "')"
      stock_Record.MoveNext
                  End If
              End If改为
      WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" + M_QREF + "','" + chk_altpn + "') " + "where p_n<>chk_altpn"INSERT语句的范围本来就是整个表
      

  2.   

    不对的,假设stock_record的第二条记录的p_n=chk_altpn,但以你的程序看
    在第一条记录比较时就是not chk_altpn=trim(stock_record!p_n),当然是继续执行下面的insert语句了。
      

  3.   

    你最开始的做法很浪费资源,第一,你使用循环来判断到底有没有相同的字段,这是最要命的,第二,sql本身就可以使用简单的语句完成搜索和插入新记录的功能,你不用不是很浪费吗?多向baoxiang学习但是原文有误:WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" + M_QREF + "','" + chk_altpn + "') where p_n <> '" + chk_altpn + "'"
      

  4.   

    用上面的代码执行时,系统说"where语句"有问题!
      

  5.   

    我认为上面的代码好像是第一条记录里的p_n如不等于chk_altpn,就插入新纪录!
    我想从表stock第一个记录开始找到最后一个,如有p_n不等于chk_altpn,则插入新纪录!啥写?!
      
      

  6.   

    你最开始的做法很浪费资源,第一,你使用循环来判断到底有没有相同的字段,这是最要命的,第二,sql本身就可以使用简单的语句完成搜索和插入新记录的功能,你不用不是很浪费吗?多向baoxiang学习但是原文有误:WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" + M_QREF + "','" + chk_altpn + "') where p_n <> '" + chk_altpn + "'"
    我用上面的,但不能插入!啥办
      

  7.   

    刚才忙昏了头了,也没仔细看。
    试试这个。Set stock_Record = New ADODB.Recordset
        stock_Record.Open "SELECT * FROM supplier_stock WHERE P_N='" & chk_altpn & "'", WORK_Connection, 1, , adCmdUNDOWN
        stock_Record.Requery
    IF STOCK_RECORD.EOF AND STOCK_RECORD.BOF THEN
        WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" & M_QREF & "','" & chk_altpn & "')"
    END IF
      

  8.   

    哈哈,我也是昏头了,还是baoxiang清醒多了//admire
      

  9.   

    整套语句应该是Dim WORK_Connection As ADODB.Connection
        Set WORK_Connection = New ADODB.Connection
        WORK_Connection.Open "Provider=SQLOLEDB.1;Password=ets2001;Persist Security Info=True;User ID=sa;Initial Catalog=ETS;Data Source=" + Server_Name
        Dim stock_Record As ADODB.Recordset
        Set stock_Record = New ADODB.Recordset
        M_QREF=label1.caption
        chk_altpn=labe2.caption
        stock_Record.Open "SELECT * FROM supplier_stock WHERE P_N='" & chk_altpn & "'", WORK_Connection, 1, , adCmdUNDOWN
        stock_Record.Requery
    IF STOCK_RECORD.EOF AND STOCK_RECORD.BOF THEN
        WORK_Connection.Execute "INSERT INTO supplier_stock (qref,p_n) VALUES ('" & M_QREF & "','" & chk_altpn & "')"
    END IF
      

  10.   

    现在能插入,但chk_altpn的值与表supplier_stock里字段P_n所有的的值不管是否相同,都能插入!