Newsgroup: it.comp.lang.visual-basic
Titolo: recuperare il nome dei campi da un database [DAO]

come posso fare ?
devo collegare una textbox ad un campo di un database di cui non conosco il
nome ma solo la posizione ... come si può fare ?
Ho provato con:
text1.datafield = data1.Recordset.Fields(i)
con  text1.datafield = data1.Recordset.Fields(i).name
con  text1.datafield = data1.Recordset.Fields(i).sourcefield
ma l'errore è sempre quello del blocco with ...  variable not set.
Aiutatemi
grazie


hai impostato il datasource della casella di testo sulla tua origine dati,
ovvero
data1?
                                                        ciao.

 ha scritto nel messaggio
news:T_6d8.2907$Ns4.1...@news2.tin.it...

prova a mettere prima di queste istruzioni:
        set text1.datasource=data1
fammi sapere
                                       danilo

 ha scritto nel messaggio
news:a535cs$vbe$1...@newsreader.mailgate.org...

:-) si.
come posso risolvere ?

 ha scritto nel messaggio
news:a5366o$4a2ls$1...@ID-111402.news.dfncis.de...

si :-) fatto.
come posso risolvere ?

 ha scritto nel messaggio
news:C89d8.3528$_u5....@news1.tin.it...

HO RISOLTO. Il mio era un errore stupido ... inserivo la riga:
text1.datafield = data1.Recordset.Fields(i).name
nella routine form_load, ... beh ... durante il form load il comando DATA
ancora non ha aperto il db quindi non può leggerne i campi; inserendo la
riga nel form_activate tutto funziona bene.
Vincenzo

 Vincenzo
Non è un errore tanto stupido penso che un sacco di gente
ci sia caduta me compreso tempo fa e anche adesso
dato che non ci ho pensato.
                                            danilo

 Vincenzo
Non so il comando DATA abbia ancora aperto o meno il Db (mi sa tanto di si),
piuttosto il problema che il controllo Text non è disponibile fino alla
form_activate.
Se metti il codice per l'assegnazione qui tutto funzia ok, ma verrà invocato
ogni volta che l'evento activate si manifesta (riduzione a icona con
ripristino e se non ricordo male quandoo il focus passa alla finestra di
un'altra applicazinoe e poi ritorna.
Quindi la soluzione corretta del problema potrebbe essere
Private bFirstTime as Boolean ' all'inizio del codice del  form
sub Form_Load()
...
bFirstTime = True
...
end sub
sub Form_Activate()
    If bFirstTime Then
         text1.datafield = data1.Recordset.Fields(i).name
        ...
        bFirstTime = False
    end If
    ...
end sub
Poi non sarrebbe male che ti leggessi il manifesto del NG e ti comportassi
di conseguenza, leggendo i messaggi inviati periodicamente da [HELP DESK].
Ciao,
--
V. Roccasalvo
email:
vrocca....@iname.nos_pam.com
Pregasi rimuovere nos_pam prima di scrivere


Ciao e grazie
Vincenzo


Semplice, su ogni NG ci sono delle regole (manifesto) ed ultimamente in
questo si è perso ogni barlume di rispetto.
La maggior parte delle persone postano come se accendessero il televisore,
senza rispettare la regola prima ascolta e poi parla. Risultato sempre le
stesse domande, poste sempre più in modo criptico e poco tecnico.
Tutti hanno la libertà di utilizzare internet ed imparare a programmare o
cercare aiuto per i propri problemi, ma se si va a chiedere aiuto ad una
comunità bisogna integrarsi con essa.
Cmq, per fartela breve, ogni tipo di messaggio deve avere un tag che ne
identifica argomento e tipologia
es. per le domande [?] 2+2=5 perchè?
per annunci [!] Nuovo compilatore Vb free
per db [DAO] ...
e così via.
Poi esistono le FAQ, il db di tutti i post degli ultimi X anni ed il sito
comune con esempi e codice già implementato, ma questo lo puoi leggere nei
messaggi inviati da [HELP DESK].
Non è un attacco personale a te, sia chiaro. Solo uno sfogo.
In molti filtrano i messaggi senza tag, quindi...
Sbagliare è umano, perseverare è diabolico.


 ha scritto nel
messaggio news:qhPd8.8542$_u5.2...@news1.tin.it...

Non avevo afferrato la frase perchè mi ritengo fra i più corretti ... ho
inserito il tag [DAO] nella mia domanda, il problema era ben chiaro nel
soggetto, ho postate la parte di codice che mi dava il problema ... prima di
postare controllo se esistono post simili ( ricerco con Google )  etc. ;
vorrà dire che c'è sempre altro da imparare :-)
Vincenzo