机场登机牌打印的vb6.0项目

机场登机牌打印的vb6.0项目,vb6,project,Vb6,Project,我对VisualBasic6.0非常陌生,对它的了解非常少。 我的项目是关于机场登机牌生成器 在我的第一个表单中,我有一个文本框,用于用户输入PNR。在这里,程序必须搜索已存储在ADODB连接的MS access数据库中的PNR。如果用户输入的PNR是正确的,那么它必须转到下一个表单,显示乘客和航班的全部详细信息,否则它应该弹出消息。显示“无效PNR”的框 以下是我在本程序中使用的编码: Dim conn As ADODB.Connection Dim RS As New ADODB.Reco

我对VisualBasic6.0非常陌生,对它的了解非常少。 我的项目是关于机场登机牌生成器

在我的第一个表单中,我有一个文本框,用于用户输入PNR。在这里,程序必须搜索已存储在ADODB连接的MS access数据库中的PNR。如果用户输入的PNR是正确的,那么它必须转到下一个表单,显示乘客和航班的全部详细信息,否则它应该弹出消息。显示“无效PNR”的框


以下是我在本程序中使用的编码:

Dim conn As ADODB.Connection
Dim RS As New ADODB.Recordset

Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\16hu3a120(part2)\BOARDING PASS3.mdb;Persist Security Info=False"
conn.Open
conn.CursorLocation = adUseClient
RS.Open "select * from PID", conn, adOpenDynamic, adLockOptimistic
End Sub
Private Sub cmdcancel_Click(Index As Integer)
MsgBox "DO YOU WANT TO CANCEL THE PROCESS?", vbYesNoCancel
End
End Sub
Private Sub cmdconfirm_Click(Index As Integer)
Dim pnr As String
pnr = txtinput.Text
Do
    If (pnr = RS.Fields(0)) Then
    MsgBox "SUCCESSFUL"
    Form1.Show       
    ElseIf (pnr <> RS.Fields(0) & RS.EOF = True) Then
    MsgBox "Invalid PNR", vbRetryCancel
    RS.MoveFirst
    End
    Exit Do
    End If
    RS.MoveNext
Loop While RS.EOF = False
If pnr = "" Then
MsgBox " FIELDS CANNOT BE LEFT EMPTY", vbAbortRetryIgnore
End If
End
Exit Sub
End Sub
Dim conn作为ADODB.连接
将RS设置为新ADODB.Recordset
专用子表单_加载()
Set conn=新的ADODB.连接
conn.ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=F:\16hu3a120(part2)\BOARDING PASS3.mdb;持久安全信息=False”
康涅狄格州公开赛
conn.CursorLocation=adUseClient
RS.打开“从PID选择”,连接,adOpenDynamic,ADLOCK
端接头
私有子cmdcancel\u单击(索引为整数)
MsgBox“是否要取消进程?”,vbYesNoCancel
终点
端接头
私有子CMDU确认\u单击(索引为整数)
作为字符串的Dim pnr
pnr=txtinput.Text
做
如果(pnr=RS.Fields(0)),则
MsgBox“成功”
表格1.展示
ElseIf(pnr RS.Fields(0)&RS.EOF=True)然后
MsgBox“无效PNR”,vbRetryCancel
先走一步
终点
退出Do
如果结束
下一个
当RS.EOF=False时循环
如果pnr=“”,则
MsgBox“字段不能为空”,vbAbortRetryIgnore
如果结束
终点
出口接头
端接头


提前感谢

您的代码中有几个错误

在“取消”按钮事件代码中,您需要处理消息框中的返回值,并采取相应的操作

Private Sub cmdcancel_Click(sender As Object, e As EventArgs) Handles cmdCancel.Click
    '
    If MsgBox("DO YOU WANT TO CANCEL THE PROCESS?", vbYesNoCancel) <> vbNo Then
        'Hide the form and return to main window
        Me.Hide
    End If
    '
End Sub

最后,虽然我的代码中没有包含它,但一定要处理您创建和使用的变量,以避免内存泄漏

也许有两个提示:阅读SQL。然后,如果你遇到一个特定的问题,用一段合理的代码询问。在这里,我们分享知识,但我们不会编写您的程序。还有一些提示:您的程序中有很多“结束”。它真的不应该在任何地方。如果你想结束程序,
卸载我
,但我不认为你在任何情况下都想这么做。您的命令按钮有一个索引参数,这意味着您有多个命令按钮,但您没有检查代码中的索引号,所以您要单击哪一个?您也在使用消息框,但没有捕获或处理响应。我不想让你气馁,对初学者来说还不错,但还有更多。当你只阅读时,不要请求可更新的游标。
Private Sub cmdconfirm_Click(sender As Object, e As EventArgs) Handles cmdConfirm.Click
    '
    Dim matched as boolean
    Dim pnr As String
    pnr = txtinput.Text
    '
    If pnr = "" Then
        MsgBox("FIELDS CANNOT BE LEFT EMPTY", vbOkay)
    Else
        matched = false
        Do
            If (pnr = RS.Fields(0)) Then
                matched = True
                exit do
            End If
            RS.MoveNext
        Loop While RS.EOF = False
        '
        if matched Then
            MsgBox("SUCCESSFUL")
            Form1.Show
        Else
            MsgBox("Invalid PNR", vbOkay)
            'return to main form
            Me.Hide
        End If
    End If
    '
End Sub