Проект vb6.0 для печати посадочных талонов в аэропортах - PullRequest
0 голосов
/ 01 февраля 2019

Я очень плохо знаком с Visual Basic 6.0, и у меня очень мало знаний об этом.Мой проект касается генератора посадочных талонов в аэропорту.

В моей первой форме у меня есть текстовое поле для ввода PNR пользователем.Здесь, программа должна искать PNR, уже сохраненный в базе данных доступа MS, связанной с ADODB.Если 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

Заранее спасибо

1 Ответ

0 голосов
/ 17 февраля 2019

В вашем коде есть несколько ошибок.

В вашем коде события кнопки Отмена вам нужно обработать возвращаемое значение из окна сообщения и принять соответствующие меры.

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

ВВаш код события кнопки «Подтвердить» необходимо проверить перед вводом ПЕРЕД обработкой ввода не в конце обработки!

Также необходимо упростить последовательность действий, чтобы выполнить задачу за наименьшее количество возможных шагов /заявления.

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

Наконец, хотя я не включил его в свой код, обязательно избавьтесь от переменных, которые вы создаете и используете, чтобы избежать утечки памяти!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...