PDA

Visualizza la versione completa : [vb6] Dbf


serena
22-08-2002, 10:31
So che sono archivi che non sono più utilizzati, ma io ho un problema con i files .dbf (già avuto in passato, ma sinceramente ho risolto convertendo tutto).

Ho l'esigenza di connettermi a vari files.dbf che si trovano in dir diverse.
Devo creare un dsn per ognuno?
Posso creare un dsn unico?

Per visualizzare i dati non ho avuto cmq troppi problemi... è modificarli e cancellarli.... il datagrid mi dà errore.

AIUTO! non so nemmeno dove cercare per comprendere bene la questione...:master: :(

Grazie

Johnny_Depp
28-08-2002, 11:24
So che sono archivi che non sono più utilizzati, ma io ho un problema con i files .dbf (già avuto in passato, ma sinceramente ho risolto convertendo tutto).

Come non sono usati!!!!!
io li uso quotidianamente i file .dbf sono
tabelle di sql-server e di IBase


Ho l'esigenza di connettermi a vari files.dbf che si trovano in dir diverse.
Devo creare un dsn per ognuno?
Posso creare un dsn unico?

SI!!!

devi creare un DSN di sistema per ogni directory contenente i DBF
N.B. se una singola directory contiene 10 DBF basta un solo DSN


Per visualizzare i dati non ho avuto cmq troppi problemi... è modificarli e cancellarli.... il datagrid mi dà errore.

??? Spiegati meglio ???

Ciao

serena
28-08-2002, 12:32
ciao Johnny,
grazie per aver risposto.

Già è un ottimo aiuto che mi hai detto che devo creare un dsn per ogni dir.

Per il resto io credo di avere dei problemi con i tipi di cursore.
Il problema è che se visualizzo il mio recordset associato ad un dbf, quando tento di modificarlo o di cancellarlo, mi dà errore... mentre se mi limito a scorrere il dbf non ci sono problemi...

:master:

Johnny_Depp
28-08-2002, 14:54
Mi correggo:

Se hai la possibilità di scaricarti tutti i DBF in un'unica
directory ALLORA puoi utilizzare un solo DSN di sistema
che punta appunto alla directory in questione.

Per quel che riguarda invece la terza domanda
prova ad inserire questo codice e poi fammi sapere
se ti cancella un record


Dim i as Integer
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL; Data Source=MIO_DSN; Database=MIO_DSN; User Id=; Password=; Security Info=True"
cn.Open
Set rs = cn.Execute("DELETE FROM MIA_TABELLA WHERE nome_campo = 'valore_campo' ")


N.B. 1

il tuo database potrebbe richiederti un login (user-id e Password)
in tal caso basta inserire user-id=mio_userID;
e password=mia_password; nella stringa di connessione
(quella evidenziata)

N.B. 2

Naturalmente nella stringa QUERY SQL devi cambiare "nome_campo"
con il nome di un campo della tua tabella
e "valore_campo" con un valore presente (in nome_campo)
nella tabella.

Ciao

serena
28-08-2002, 15:53
eccomi!
ho provato ma mi dice : "impossibile eliminare dalle tabelle specificate"
mi dà errore l'odbc...:bhò:

Johnny_Depp
28-08-2002, 15:58
:bhò:

Postami l'errore specifico (con copia ed incolla)

serena
28-08-2002, 16:02
dice:

run-time error '-2147467259 (80004005)':
[Microsofgt][Driver ODBC dBase]Impossibile eliminare dalle tabelle specificate.

Johnny_Depp
28-08-2002, 17:04
Mi dispiace, al momento non so come aiutarti

a me funziona benissimo...

sembra quasi che tu non abbia i permessi di INSERT e DELETE
sul Database.

serena
28-08-2002, 18:15
Grazie lo stesso, sei stato carinissimo, farò un po' di esperimenti...

Loading