moet (Normal User)
Pro
Messaggi: 185
Iscritto: 13/11/2007
|
il set di record corrente non supporta l' aggiornamento. Potrebbe trattarsi di una limitazione del provider o del tipo di blocco selezionato.
e mi evidenzia la stringa rs.AddNew
Codice sorgente - presumibilmente VB.NET |
Private Sub Form_Load() stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" stringa = stringa & App.Path & "/inserimento.mdb" Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open stringa rs.Open "SELECT * FROM tabella1", cn, 1 If rs.EOF Then risposta = MsgBox("E' LA PRIMA VOLTA CHE UTILIZZI IL PROGRAMMA VUOI IMPOSTARE LE COMMESSE?", vbInformation + vbYesNo, "HELPDESK") If risposta = vbYes Then comm = InputBox("INSERISCI COMMESSA MARTINA", "HELPDESK") commsy = InputBox("INSERISCI COMMESSA SHIPYARD", "HELPSDESK") rs.AddNew rs("commessa") = comm rs("commessasy") = commsy rs.Update End If Else Label7.Visible = True Label8.Visible = True End If End Sub
|
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
ho trovato una scrittura alternativa.
Codice sorgente - presumibilmente Plain Text |
rs.AddNew
rs("commessa") = comm
rs("commessasy") = commsy
rs.Update
|
diventa
Codice sorgente - presumibilmente Plain Text |
rs.AddNew Array("commessa","commessay") Array(comm,commy)
rs.Update
|
Anche se secondo me non sta li l'errore.. Ultima modifica effettuata da P4p3r0g4 il 24/11/2007 alle 19:28 |
|
moet (Normal User)
Pro
Messaggi: 185
Iscritto: 13/11/2007
|
NO infatti ma non capisco dove...
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
Ciao, il problema è quello di aggiornare i record?? Io l'ho risolto cosi.
Devi creare un altro campo insieme ai precedenti, chiamalo per esempio id. Che deve andare ad incrementare di un 1, io in SQL Server ho la possibilità di farlo incrementare automaticamente, credo si possa fare in access.
Comunque dovresti avere:
dove ID, Commessa e Commessasy sono i campi del database.
ID Commessa Commessasy
1 lucia aaa
2 federica dcc
3 sabrina fdd
i valori dovrebbero essere incolonnati.
cioè avrai il campo id che servirà da indice.
il campo id è settato come valore chiave.
Adesso nel codice userai.
Codice sorgente - presumibilmente Visual Basic 6 |
dim cn as new adodb.connection
cn.open "File Name="&connstring
cn.Execute ("Delete from sample1 where id = " + CStr(2))
|
attento all'ultima riga di codice.
Va ad eliminare il record che ha come valore id 2.
Quindi avremo:
ID Commessa Commessasy
1 lucia aaa
3 sabrina fdd
Spero di esserti stato di aiuto.
Ciao.
Ultima modifica effettuata da LuigiBiasi il 25/11/2007 alle 20:29 |
|
moet (Normal User)
Pro
Messaggi: 185
Iscritto: 13/11/2007
|
La cosa bella è che l' avevo gia settata!
ho impostato ID come contatore ed ho aggiunto al chiave primaria.
il problema non è risolto purtroppo !
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
ma quando aggiungi i record al database, Id viene incrementato sempre di uno, cioè:
id commessa commessasy
1 nome aaaa
2 aa aaa
3 fff ddf
Id è un campo d tipo numerico.
I valori sono incolonnati cosi:
i numeri sotto id
nome aa e fff incolonnati sotto commessa e aaaa aaa ddf sotto commessasy.
cioè alla fine ottieni cosi il database?
Dimenticavo, nel mio esempio sample1 è il nome della mia tabella.
Codice sorgente - presumibilmente Visual Basic 6 |
cn.execute "Delete from nometabella where id= " & cstr(2)
|
Ciao.
Ultima modifica effettuata da LuigiBiasi il 26/11/2007 alle 7:48 |
|
moet (Normal User)
Pro
Messaggi: 185
Iscritto: 13/11/2007
|
si esatto il database mi viene perfetto cosi come lo descrizi tu. con campo id numerico contatore che si incrementa a ogni inserimento nuovo e i due campi commessa e commessasy.
no ma per i database sono sempre riuscito bene a farli non mi hanno mai dato problemi escluso questa volta che non capisco come mai !
|
|
LuigiBiasi (Normal User)
Expert
Messaggi: 237
Iscritto: 15/09/2006
|
ma sei riuscito ad eliminare un solo record con il mio metodo cioè usando:
Codice sorgente - presumibilmente Visual Basic 6 |
cn.Execute "Delete from nometabella where id = 2"
|
questo codice elimina il record che ha come valore di ID il 2.
Io con questo metodo riesco ad aggiornare il mio database, cioè a eliminare un solo record.
Ultima modifica effettuata da LuigiBiasi il 26/11/2007 alle 15:13 |
|
moet (Normal User)
Pro
Messaggi: 185
Iscritto: 13/11/2007
|
Ma perche il mio è un inserimento non una cancellazione.
|
|