VB初学

Option Explicit
Private Declare Function LCMapstring Lib "kernel32" Alias "LCMapStringA" (ByVal locale As Long, ByVal dwpflags As Long, ByVal lpsrcstr As String, ByVal cchsrc As Long, ByVal lpdeststr As String, ByVal cchdest As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpstring As String) As Long
Dim stf As String
Dim stj As String
Dim stlen As String
Dim DataTemp() As VMCode

Private Sub Combo1_Click()
    Text1.Text = DataTemp(Combo1.ListIndex).prd_no
End Sub

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim VarString
Dim dbFilePath As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim SQL As String
Dim i As Integer
Dim vartest As String

dbFilePath = "FileDSN=db_tz13.dsn;UID=sa;PWD=sqlsa"   'server 192.168.1.12


If KeyCode = 13 Then
    Text1.Text = ""
    If Combo1.Text <> "" Then
        VarString = Split(Combo1.Text, " ") 'split是一个切割函数
        Combo1.Clear
        SQL = "SELECT prd_no,spc FROM DBO.PRDT WHERE "
        For i = 0 To UBound(VarString)
            stj = VarString(i)
            stlen = lstrlen(stj)
            stf = Space(stlen)
            LCMapstring &H804, &H4000000, stj, stlen, stf, stlen
            VarString(i) = stf
            If i <> 0 Then
                SQL = SQL & " and "
            End If
            SQL = SQL & "CHARINDEX(N'" & Trim(VarString(i)) & "',spc)<>0"
        Next i
        SQL = SQL & " order by prd_no"
    Else
        Label3.Caption = ""
        Exit Sub
    End If
Else
    Exit Sub
End If

On Error GoTo ExecuteSQL_Error
Set cnn = New ADODB.Connection
cnn.Open dbFilePath
cnn.Execute "use db_tz13"
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic

If rst.RecordCount <> 0 Then
    ReDim DataTemp(rst.RecordCount - 1)
    Label3.Caption = "找到符合条件的 " & rst.RecordCount & "条记录!"
    rst.MoveFirst
    For i = 0 To rst.RecordCount - 1
        stf = rst.Fields(1)
        stlen = lstrlen(stf)
        stj = Space(stlen)
        LCMapstring &H804, &H2000000, stf, stlen, stj, stlen
        DataTemp(i).prd_no = rst.Fields(0)
        DataTemp(i).spc = stj
        Combo1.AddItem DataTemp(i).prd_no & " | " & DataTemp(i).spc
        rst.MoveNext
        If i = 100 Then
            i = rst.RecordCount
            Label3.Caption = Label3.Caption & Chr(13) & "请注意仅仅列出前100个记录!"
        End If
    Next i
    'Combo1.Drop
    'SendKeys "{f4}"
Else
    Label3.Caption = "找到符合条件的 0条记录!"
End If

Exit Sub

ExecuteSQL_Error:
MsgBox "连接服务器失败!", vbOKOnly + vbCritical, "错误!"

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BasicBasic BasicBasic正是微软公司售出的第一套件。 正是微软公司售出的第一套件。 Basic Basic Basic Basic 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 GW -Basic Basic Basic Basic 、 QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic 、QBasic QBasic QBasic QBasic QBasic 、Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic , 等其中Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 WindowsWindowsWindows Windows的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 序吗?通过学习 序吗?通过学习 序吗?通过学习 序吗?通过学习 VB 就能写出很多应用程序。 就能写出很多应用程序。 就能写出很多应用程序。 就能写出很多应用程序。 就
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值