Questione : Accesso 2003: È possibile pubblicare ed aggiornare i dati delle tabelle using un recordset

Il mio codice attualmente carica i dati della tabella basati sul valore selezionato della casella combinata. Visualizza il relativo valore in una forma non legata. Posso cambiare i dati, quindi scatto il tasto di risparmio. Quale allora apre il RecordSet basato sul EmployeeID allora cancella l'impiegato attuale ed allora conserva l'impiegato, ma naturalmente la tabella pensa che questa sia una nuova entrata così gli dà un nuovo EmployeeID. È ci un senso aggiornare un impiegato attuale senza dovere cancellare l'impiegato dalla tabella ed aggiornare i relativi valori attuali ai nuovi forniti sulla forma? Qui è il mio codice per il

del tasto di risparmio… class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
class= btnSave_Click secondario " del id= " codeSnippet814528 del
Private " notpretty " ()
Sull'errore Err_btnSave_Click di avanzamento

    'Generare le variabili funzionali
    Oscurare lo strSQL come stringa
    Oscurare il messaggio come stringa
        
    'Generare le variabili per i campi dell'input.
    Oscurare l'impiegato come numero intero
    Oscurare FName come stringa
    Oscurare LName come stringa
    Oscurare il titolo come stringa
    Oscurare l'indirizzo come stringa
    Oscurare la città come stringa
    Oscurare Prov come stringa
    Oscurare PCode come stringa
    Oscurare il telefono come stringa
    Oscurare WorkEmail come stringa

    Se IsNull (cboEmployee.Value) = falso allora
        'Assegnare i campi alle variabili
        Impiegato = cboEmployee.Value
        FName = txtFName.Value
        LName = txtLName.Value
        Titolo = txtTitle.Value
        Indirizzo = txtAddress.Value
        Città = txtCity.Value
        Prov = cboProv.Value
        PCode = txtPostalCode.Value
        Telefono = txtPhone.Value
        WorkEmail = txtWorkEmail.Value
          
        'Aprire la base di dati
        Regolar db = CurrentDb ()
        
        'Aprire il recordset
        Regolare i rs = db.OpenRecordset (“impiegato„)
        
        'La dichiarazione di SQL per cancellare tutta registra che abbia l'identificazione di corrispondenza degli impiegati dal controllo di cboEmployee
        strSQL = “CANCELLAZIONE * DA [impiegato] DOVE [EmployeeID] =„ & impiegato
        
        DoCmd.SetWarnings falso
        strSQL di DoCmd.RunSQL
        DoCmd.SetWarnings allineare
        
        'Riempire la tabella degli impiegati di valori dai campi della forma
        rs.AddNew
        rs. Campi (“FName„). Valore = FName
        rs. Campi (“LName„). Valore = LName
        rs. Campi (“titolo„). Valore = titolo
        rs. Campi (“indirizzo„). Valore = indirizzo
        rs. Campi (“città„). Valore = città
        rs. Campi (“Prov„). Valore = Prov
        rs. Campi (“PostalCode„). Valore = PCode
        rs. Campi (“telefono„). Valore = telefono
        rs. Campi (“WorkEmail„). Valore = WorkEmail
        rs. Aggiornamento
        
        'Db e recordset vicini e ripristinati
        rs. Fine
        Regolare i rs = niente
        db. Chiuder
        Regolar db = niente
        Impiegato di MsgBox “aggiunto. „, vbInformation + vbOKOnly, “amministrazione degli impiegati„
        
        'Rinfrescare l'impiegato cadono giù il menu
        Me.cboEmployee.Requery
        
        'Campi liberi
        txtFName.Value = ""
        txtLName.Value = ""
        txtTitle.Value = ""
        txtAddress.Value = ""
        txtPhone.Value = ""
        txtCity.Value = ""
        txtWorkEmail.Value = ""
        txtPostalCode.Value = ""
        cboProv.Value = posizione di segnale minimo
        
    Altrimenti
        'Assegnare i campi alle variabili
        FName = txtFName.Value
        LName = txtLName.Value
        Titolo = txtTitle.Value
        Indirizzo = txtAddress.Value
        Città = txtCity.Value
        Prov = cboProv.Value
        PCode = txtPostalCode.Value
        Telefono = txtPhone.Value
        WorkEmail = txtWorkEmail.Value
          
        'Aprire la base di dati
        Regolar db = CurrentDb ()
        
        'Aprire il recordset
        Regolare i rs = db.OpenRecordset (“impiegato„)
        
        'La dichiarazione di SQL per cancellare tutta registra che abbia l'identificazione di corrispondenza degli impiegati dal controllo di cboEmployee
        strSQL = “CANCELLAZIONE * DA [impiegato] DOVE [EmployeeID] =„ & impiegato
        
        DoCmd.SetWarnings falso
        strSQL di DoCmd.RunSQL
        DoCmd.SetWarnings allineare
        
        'Riempire la tabella degli impiegati di valori dai campi della forma
        rs.AddNew
        rs. Campi (“FName„). Valore = FName
        rs. Campi (“LName„). Valore = LName
        rs. Campi (“titolo„). Valore = titolo
        rs. Campi (“indirizzo„). Valore = indirizzo
        rs. Campi (“città„). Valore = città
        rs. Campi (“Prov„). Valore = Prov
        rs. Campi (“PostalCode„). Valore = PCode
        rs. Campi (“telefono„). Valore = telefono
        rs. Campi (“WorkEmail„). Valore = WorkEmail
        rs. Aggiornamento
        
        'Db e recordset vicini e ripristinati
        rs. Fine
        Regolare i rs = niente
        db. Chiuder
        Regolar db = niente
        Impiegato di MsgBox “aggiunto. „, vbInformation + vbOKOnly, “amministrazione degli impiegati„
        
        'Campi liberi
        txtFName.Value = ""
        txtLName.Value = ""
        txtTitle.Value = ""
        txtAddress.Value = ""
        txtPhone.Value = ""
        txtCity.Value = ""
        txtWorkEmail.Value = ""
        txtPostalCode.Value = ""
        cboProv.Value = posizione di segnale minimo
        
        'Rinfrescare l'impiegato cadono giù il menu
        Me.cboEmployee.Requery
    Concluder se
        
Exit_btnSave_Click:
    Uscire il sommergibile
Err_btnSave_Click:
    MsgBox Err.Description
    Riassunto Exit_btnSave_Click
Sommergibile dell'estremità
class= del

Risposta : Accesso 2003: È possibile pubblicare ed aggiornare i dati delle tabelle using un recordset

Altre soluzioni  
 
programming4us programming4us