PDA

Visualizza la versione completa : [VB] - inserimento record su access 2000 usando adodc


tyreen
24-09-2002, 16:24
Ciao,
Ho il seguente problema con adodc:
Ho un bottone "inserisci" e tre campi di testo, devo inserire quello che scrivo in questi campi in un db access 2000 per fare un'agendina. Ho provato con l'oggetto Data ma non funge, ( dice che non riconosce il tipo di database access) e quindi mi sono buttata su adodc. Ma il metodo addnew non funziona. Ho scritto questo dentro il bottone "inserisci" per provare, ma mi si incazza e si ferma:

conn.recordset.addnew
conn.recordset!nome=nome.text
....
conn.recordset.refresh

come posso fare??

Grazie!!!!!

TY.
:dh:

Laufer
24-09-2002, 16:33
Riesci a vedere il contenuto della tua tabella?
Come ti connetti?


Laufer

tyreen
24-09-2002, 16:40
Si si, con un datagrid collecato all'adodc vedo tutto. Dunque, ho inserito un adodc (conn), ho settato la connectionstring e il recordsource.
Poi ho collegato i campi text con conn (datasource)e ho settato i datafield ai rispettivi nomi dei campi del db. Infine ho messo il datagrid. Il problema ora fare l'inserimento dei valori immessi nei campi. Devo utilizzare un commandbutton "inserisci", il metodo addnew devo per forza metterlo nell'evento del bottone. Ma come??

Grazie.
Ty
=^_^=

Laufer
24-09-2002, 16:49
Sinceramente sono + propenso per usare L'sql

Prova a prendere i valori dalle textbox dove li inserici e costruisciti una stinga SQL.


Assegna la stringa SQL ad una variabile e infine fai un
call MiaConnessione.execute(mystringa)
Il tutto puoi metterlo nell'evento clik del comand

Spero possa servire :)


Laufer

tyreen
24-09-2002, 17:01
Ho provato anche questo, ma non so bene come scrivere la stringa, mi dice che c' un errore e mi si ferma...
Ho scritto:

dim str as string

str ="insert into rubrica (nome,....) values ('"&nome.text&"'...')"

e poi non so bene cosa scriverci per farla funzionare...

xegallo
24-09-2002, 17:20
un piccolo consiglio
se non ve la cavete un granch con sql vb mette a disposizione un bell'oggetto che si chiama data environement inseribile dal men progetto
sfrutta ado e evita di scrivere sql

valezero
24-09-2002, 17:20
Se non ho capito male:
dovresti inserire il contenuto di tre textbox dentro rispettivi campi di un database.
Hai detto di non aver problemi nella visualizzazione dei campi.
Prova cos:
Recorset.Open "NOMETABELLA", connessione, adOpenStatic, adLockOptimistic, adCmdTable
Recordset.AddNew
Recordset("nomecampo1tabella") = textbox1.text
Recordset("nomecampo2tabella") = textbox2.text
Recordset("nomecampo3tabella") = textbox3.text
Recordset.Update

connessione un ADODB.connection precedentemente aperta.
Spero di esserti stato di aiuto.
Saluti

Laufer
24-09-2002, 17:21
la stringa SQL la costruisci in questa maniera:



strSQL= "insert into Nome_Tabella (nome, cognome, indirizzo)" & _
"values ('" & TxtNome & "','" & TxtCognome & "','" & TxtIndirizzo & "')"

Per mandarla in esecuzione e' sufficiente immettere quest'altr riga di codice:


call MiaConnessione.execute(strSQL)

Dove MiaConnessione e la variablile che hai dichiarato come
dim MiaConnessione as new ADODB.Connection


Laufer

valezero
24-09-2002, 17:26
Ovvimente il codice che ho scritto prima deve essere inserito all'interno dell'evento click del commando button che utilizzi.
Se la stringa di conessione giusta, il codice funziona. Se hai problemi fammi sapere.
Saluti.
:ciauz:

JamesD
24-09-2002, 21:06
All'interno dell'update devi mettere gli apici solo se il campo contiene valori di testo!

Un piccolo consiglio:
se non conosci sql comincia ad usarlo che non molto difficile e quando hai qualche problema chiedi sul forum che sono sempre tutti molto disponibili! Comunque puoi anche cercare documentazione su internet che ne trovi tanta...

:ciauz:

Loading