MODIFICA DEL NOME DEL CLIENTE E DEL TELEFONOMODIFICA DEL NOME DEL CLIENTE E DEL
TELEFONO
(con gli asterischi c’è la risultanza del debug)
codice:
If ClienteOrdineOld <> "" Then
'-- chiama la funzione che controlla se sto creando un ordine doppio
Call VerificaOrdine(CheckOrdine)
'-- Se la variabile 'CheckOrdine' è = 1 allora modifica l'ordine con i nuovi dati
If CheckOrdine = 1 Then
Debug.Print ("UPDATE TabellaRelazioni SET Nome = '" & Form38.Text3.Text & "' and Telefono = '" & Form38.Text1.Text & "' WHERE Nome = '" & yyy & "' And Telefono = '" & xxx & "' And Titolo = '" & zzz & "'")
***(UPDATE TabellaRelazioni SET Nome = 'UGO' and Telefono = '55555' WHERE Nome = 'BALANZONE' And Telefono = '999999' And Titolo = 'CORRIERE DELLA SERA') ***
cn.Execute ("UPDATE TabellaRelazioni SET Nome = '" & Form38.Text3.Text & "' and Telefono = '" & Form38.Text1.Text & "' WHERE Nome = '" & yyy & "' And Telefono = '" & xxx & "' And Titolo = '" & zzz & "'")
MsgBox "L'ordine è stato modificato", , ""
'-- azzero la variabile
ClienteOrdineOld = ""
Else
'-- altrimenti esce senza fare nulla (ed avendo già segnalato
che l'ordine esiste già)
Exit Function
End If
End if
FUNZIONE DI CONTROLLO DELL’ORDINE (se c’è o no)
(con gli asterischi c’è la risultanza del debug)
codice:
Function VerificaOrdine(CheckOrdine As Integer)
'-- dichiaro le connessioni
Dim sSQL As String
Dim rsOrdine As New ADODB.Recordset
'-- assegno i valori di cliente (text3) e titolo (text2) e raddoppio gli apostrofi alle variabili globali
Form38.Text3.Text = Replace(Form38.Text3.Text, "'", "''")
Form38.Text2.Text = Replace(Form38.Text2.Text, "'", "''")
'-- faccio la select estraendo i dati dell’ordine esistente e che voglio modificare cioè:
‘-- nome del cliente (yyy), telefono (xxx) e giornale (zzz)
Debug.Print "Select * from TabellaRelazioni Where Nome = '" & yyy & "' And Telefono = '" & xxx & "' And Titolo = '" & zzz & "'"
****(Select * from TabellaRelazioni Where Nome = 'BALANZONE' And Telefono = '999999' And Titolo = 'CORRIERE DELLA SERA')****
sSQL = "Select * from TabellaRelazioni Where Nome = '" & yyy & "' And Telefono = '" & xxx & "' And Titolo = '" & zzz & "'"
'-- apro la connessione
rsOrdine.Open sSQL, Adodc1.ConnectionString
'-- se non è alla fine del recordset (cioè esiste l'ordine che si sta confermando) allora imposto ChecklOrdine = 1
If Not rsOrdine.EOF Then
'-- Dichiaro la connessione
Dim cn As ADODB.Connection
'-- Imposto la connessione
Set cn = New ADODB.Connection
'-- Punto il database Access
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\PGMVB6\clienti.mdb;Persist Security Info=False"
'-- Imposto ad 1 la variabile 'CheckOrdine' che significa che l'ordine è nuovo e si può salvare
CheckOrdine = 1
Else
'-- altirmenti imposto a 0 la variabile 'CheckOrdine' che significa che l'ordine è nuovo e si può salvare
'-- e lo segnala all'utente
MsgBox "Uno stesso ordine è già stato registrato" + Chr(10) + "Non è possibile registrare un ordine identico", , ""
rsOrdine.Close
CheckOrdine = 0
End If
End Function