Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto metodo Save Recordset!

Spulciando tra l'msdn ho trovato il metodo save che penso potrą risolvere il
mio problema ma mi sono bloccato ad un certo punto!
Ho sempre il mio programma di anagrafica clienti che ha il db in rete
installato su alcuni portatili.
Ho fatto in modo che quando i portatili sono collegati alla rete e quindi
trovano il percorso del db creo un recordset che memorizza tutti i dati del
db.
Chiuso il programma il recordset viene salvato in un file *.adtg.
Se all'avvio del prog. il portatile non trova il databse di rete va a
connettersi al file *.adtg dove si possono fare gli inserimenti e le
modifiche.
Fino a qua tutto bene.
Ma quando cerco di fare l'updatebatch sul db di rete per inserire le
modifiche anche lą mi da errore dove sbaglio?
grazie!

QUando Faccio l'update batch mi da:
Errore:
Le informazioni sulla tabella di base non sono sufficienti per fare
l'aggiornamento.
Come posso fare?
Cos'è che non va?

 ha scritto nel messaggio
news:956fst$jho$1...@pinco.nettuno.it...


Si li ho e me li visualizza
forse il problema č che la chiave č un campo contatore e ho notato che il
file adtg non lo riempe in automatico?
Grazie di nuovo

 forse il problema è che la chiave è un campo contatore e ho notato che il


No non lo inserisce in automatico allora ho provato ad inserirlo via codice
ma senza esito positivo perchè mi da lo stesso errore!
..........e non mi aggirna il db sul server!
Un'ultima domanda:
Non è che esiste un'altro modo per fare tutto questo ?

 ha scritto nel messaggio
news:956nk1$nin$1...@pinco.nettuno.it...



E' come l'esempio che mi hai mandato l'errore è il seguente:
QUando Faccio l'update batch mi da:
"Errore:
Le informazioni sulla tabella di base non sono sufficienti per fare
l'aggiornamento."
Se saresti tanto buono da mandarmi la tua e-mail potrei mandarti il
sorgente!
Grazie ancora mille!

 wrote in message
958fva$kc9$1...@pinco.nettuno.it...


Ti mando il codice così magari ci capiamo:
Per provare ho creato un form con tre bottoni:
sul form_load ho scritto:
Private Sub Form_Load()
    Data.Connection1.Open
    rs.ActiveConnection = Data.Connection1
    rs.Source = "Select * from [Anagrafica Cliente]"
    rs.Open
    Kill "C:\prova.adtg"
    rs.Save "c:\prova.adtg"
    rs.Close
    Data.Connection1.Close
    Debug.Print Clear
End Sub
Sul primo bottone per verifica ho scritto:
Private Sub Command1_Click()
    Dim tr As String
    h.CursorType = adOpenKeyset
    h.CursorLocation = adUseClient
    h.LockType = adLockBatchOptimistic
    h.Open "c:\prova.adtg"
    h.MoveFirst
    tr = ""
    Do Until h.EOF
    For i = 0 To h.Fields.Count - 1
    tr = tr & h.Fields(i).Value & " "
    Next
    Debug.Print tr & Chr(13) + Chr(10)
    tr = ""
    h.MoveNext
    Loop
end sub
Sul terzo bottone ho scritto:
Private Sub Command3_Click()
    Set rs.ActiveConnection = Nothing
    Data.Connection1.Open
    rs.Open "c:\prova.adtg", , adOpenKeyset, adLockBatchOptimistic
    Set rs.ActiveConnection = Data.Connection1
    rs.UpdateBach <-------- "Qui mi va in debug e mi da quell'errore. Il
numero dell'errore se ti interessa è "Errore di runtime
'-214747259(80004005)':
    rs.MoveLast
    Debug.Print rs.Fields(0).Value
End Sub

 wrote in message
958hug$lac$1...@pinco.nettuno.it...



omissis


omissis

Ti assicuro che il db e il piu stupido db concepito sulla faccia della terra
con 10 campi di cui uno primario di tipo testo!
Sto fondendo!

 wrote in message
958ki6$mne$1...@pinco.nettuno.it...


db di access
Nomi campi           Tipo Dati
Codice                   Testo
Cognome                "            cHIAVE pRIMARIA
Nome                      "
Residenza                 "
Etc.                        "

 wrote in message
958obf$om4$1...@pinco.nettuno.it...


Anche se non sono un super programmatore(Se no non mi sarei intoppato su un
errore del genere!) non sono nemmeno uno di quelli che vuole la ppa già
pronta perchè a me non interessano i software(li posso comprare al negozio)
ma interessa imparare!
Mi dispiace che ti sei riscaldato tanto ma quello è un semplice errore di
battitura!
Si poteva intuire che la chiave primaria è il codice del cliente!
Ti ringrazio lo stesso e mi scuso per il mio errore
madornale,irreparabile,apocalittico!

 ha scritto nel messaggio
news:959bdr$2d1$1...@pinco.nettuno.it...


addnew su recordset non connessi (insomma.. persistenti?)
L' AddNew su recordset disconnessi dovrebbe essere possibile.
Nel caso specifico il problema potrebbe essere generato
dal fatto che il campo chiave e' di tipo contatore, come scrive
Mauro nel post del 30/01 15:35 (anche se si smentisce con il
con il post di oggi h 11:10 scrivendo che e' di tipo testo).
Con campo autoincrement la disponibilita' del database
mi sembra obbligatoria se si vogliono fare degli inserimenti.
Ciao
Aldo

 ha scritto nel messaggio
news:95a1a5$g56g0$4...@ID-56381.news.dfncis.de...


Per spiegarmi meglio.
In partenza era un campo contatore poi intuendo anch'io che poteva creare
dei problemi l'ho cambiato in testo.
Ciao :( Mauro

 ha scritto nel messaggio
news:95b5h3$trc$1...@pinco.nettuno.it...


Basty
Ciao
Aldo