Option Explicit

Dim cn1 As ADODB.Connection
Dim cmd1 As ADODB.Command
Dim params As ADODB.Parameters
Dim param As ADODB.Parameter
Dim cn2 As ADODB.Connection
Dim cmd2 As ADODB.Command
Dim rs2 As ADODB.Recordset
Private Sub cmdMe_insert_Click()
Dim intRetVal As Integer
'Az input paraméterértékek megadása
params("@m_sorsz") = txtSorsz
params("@m_megys") = txtMegys
'A parancs végrehajtása
cmd1.Execute , , adExecuteNoRecords
'A tárolt eljárás output paraméterének lekérdezése
intRetVal = params("@retval")
If intRetVal <> 0 Then
    MsgBox intRetVal
Else
    rs2.Requery
    ListViewRefresh
End If
End Sub
Private Sub Form_Load()
'A Connection és Command objektumok létrehozása a beszúráshoz
Set cn1 = New ADODB.Connection
Set cmd1 = New ADODB.Command
'A Connection tulajdonságok beállítása és a kapcsolat nyitása
cn1.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
    "Persist Security Info=False;Initial Catalog=szamlak;Data Source=kj-home"
cn1.Open
'A Command tulajdonságok beállítása
With cmd1
    Set .ActiveConnection = cn1
    .CommandText = "Me_Insert"
    .CommandType = adCmdStoredProc
    Set params = .Parameters
End With
'Tárolt eljárás paraméterek definiálása és a parancshoz fűzése.
params.Append cmd1.CreateParameter("@m_sorsz", adChar, adParamInput, 2)
params.Append cmd1.CreateParameter("@m_megys", adVarChar, adParamInput, 6)
params.Append cmd1.CreateParameter("@retval", adInteger, adParamOutput, 4, Null)
Set cn2 = New ADODB.Connection
Set rs2 = New ADODB.Recordset
Set cmd2 = New ADODB.Command
cn2.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
    "Persist Security Info=False;Initial Catalog=szamlak;Data Source=kj-home"
cn2.Open
With cmd2
    Set .ActiveConnection = cn2
    .CommandText = "Me"
    .CommandType = adCmdTable
End With
Set rs2 = cmd2.Execute
ListViewRefresh
txtSorsz = "00"
txtMegys = ""
End Sub
Private Sub ListViewRefresh()
Dim intSor As Integer
If rs2.RecordCount > 0 Then
    rs2.MoveFirst
End If

intSor = 0
ListView1.ListItems.Clear
Do While Not rs2.EOF
    intSor = intSor + 1
    ListView1.ListItems.Add intSor, , rs2.Fields("sorsz")
    ListView1.ListItems(intSor).SubItems(1) = rs2.Fields("megys")
    rs2.MoveNext
Loop
End Sub
Private Sub txtMegys_Validate(Cancel As Boolean)
    'Kötelező kitölteni
    If Len(txtMegys.Text) > 0 Then Exit Sub
    Cancel = True
End Sub
Private Sub txtSorsz_KeyPress(KeyAscii As Integer)
    'Csak számjegy karaktert fogad el
    If KeyAscii = 8 Then Exit Sub
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End Sub
Private Sub txtSorsz_LostFocus()
    If Len(txtSorsz.Text) <> 2 Then
        txtSorsz.SetFocus
    End If
End Sub