Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

VBA in Access: leggere un campo

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

VBA in Access: leggere un campo

Postdi cassioli » 11/11/04 12:54

Se il mio database e' in DATA_DB (tipo Database) , la mia tabella in DATA_TABLE (tipo TableDef) e il campo che mi interessa e' quello tale che CAMPO.name="miocampo" (CAMPO e' di tipo Field), che istruzione mi serve per assegnare alla variabile stringa TEST il contenuto del campo? (Accidenti alla guida in linea di Access!!! Non esiste un manuale di riferimento online con la lista di tutti i metodi e le procedure, tipo questo sito su RapidQ???)
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Sponsor
 

Postdi cassioli » 11/11/04 13:00

volevo dire PROPRIETA', non PROCEDURE! :D
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi archimede » 11/11/04 13:41

Se ho inteso bene:
Codice: Seleziona tutto
Dim varX As Variant
varX = DLookup("[miocampo]", "DATA_TABLE", "[ID_DATA_TABLE] = 1")
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi cassioli » 11/11/04 15:10

archimede ha scritto:Se ho inteso bene:
Codice: Seleziona tutto
Dim varX As Variant
varX = DLookup("[miocampo]", "DATA_TABLE", "[ID_DATA_TABLE] = 1")
HTH.

Alessandro

"variant"?!? E che razza di tipo e'?!? A me serve una stringa! Boh, ora provo...
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi cassioli » 11/11/04 15:38

archimede ha scritto:Se ho inteso bene:
Codice: Seleziona tutto
Dim varX As Variant
varX = DLookup("[miocampo]", "DATA_TABLE", "[ID_DATA_TABLE] = 1")
HTH.

Alessandro

Hai inteso male ;) , riaggiusto secondo la mia domanda:

Codice: Seleziona tutto
Dim varX As Variant
varX = DLookup("[miocampo]", DATA_TABLE.name)


DATA_TABLE non e' il nome della tabella, ma il nome della variabile-tabella.
Il resto dell'istruzione non serve, quanto sopra e' sufficiente per trovare il campo.


E se, adesso che ho tirato fuori il contenuto, voglio aggiungerci un pezzo e rificcarlo dentro al DB? Invento:
Codice: Seleziona tutto
nuovo=varX + "che bello"
FiccaCampoDentro("[miocampo],DATA_TABLE.name,varX) = nuovo  ????

il varX qui servirebbe a ritrovare lo stesso valore di prima (o posso specificare il numero di riga della tabella).
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi archimede » 11/11/04 16:12

cassioli ha scritto:Hai inteso male ;)
Eh, capita :undecided:
cassioli ha scritto:riaggiusto secondo la mia domanda:

Codice: Seleziona tutto
Dim varX As Variant
varX = DLookup("[miocampo]", DATA_TABLE.name)


DATA_TABLE non e' il nome della tabella, ma il nome della variabile-tabella.
Il resto dell'istruzione non serve, quanto sopra e' sufficiente per trovare il campo.
Mi sfugge la logica: hai diverse tabelle che contengono il campo "miocampo" e stai scrivendo una funzione che fa il loop su tutte le tabelle? Insomma, perchè il nome del campo è una costante e quello della tabella no? Comunque, contento tu...
cassioli ha scritto:E se, adesso che ho tirato fuori il contenuto, voglio aggiungerci un pezzo e rificcarlo dentro al DB?
Come nel caso precedente (e in molti altri del resto) ci sono diversi modi. Esempio:
Codice: Seleziona tutto
SQLStr = "UPDATE " & DATA_TABLE.name & " SET miocampo='" & varx & "che bello" & "';"
db.Execute SQLStr, dbFailOnError
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi archimede » 11/11/04 16:16

cassioli ha scritto:Il resto dell'istruzione non serve, quanto sopra e' sufficiente per trovare il campo.
Non ci avevo riflettuto, ma quanti record ci sono nella tabella, uno? No, perchè DLookup torna indietro il valore di UN record (se non metti criteri, ne seleziona uno a caso).

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi archimede » 11/11/04 18:15

archimede ha scritto:
Codice: Seleziona tutto
SQLStr = "UPDATE " & DATA_TABLE.name & " SET miocampo='" & varx & "che bello" & "';"
db.Execute SQLStr, dbFailOnError
Che idiota! Anche qui ci vuole un criterio WHERE, altrimenti aggiorni TUTTI i records della tabella.

Scusa tanto, sono un po' provato in questi giorni...

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi cassioli » 11/11/04 19:27

archimede ha scritto:
cassioli ha scritto:Il resto dell'istruzione non serve, quanto sopra e' sufficiente per trovare il campo.
Non ci avevo riflettuto, ma quanti record ci sono nella tabella, uno?

Si' :D
Tabellona, eh?
Mi serve solo per memorizzare stabilmente il percorso di un file cui si appoggia la mia applicazione e il percorso in cui mettere una copia di sicurezza del file stesso.
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi cassioli » 11/11/04 19:28

archimede ha scritto:
archimede ha scritto:
Codice: Seleziona tutto
SQLStr = "UPDATE " & DATA_TABLE.name & " SET miocampo='" & varx & "che bello" & "';"
db.Execute SQLStr, dbFailOnError
Che idiota! Anche qui ci vuole un criterio WHERE, altrimenti aggiorni TUTTI i records della tabella.

Scusa tanto, sono un po' provato in questi giorni...

Alessandro

Vedo... dov'e' 'sto campo WHERE?!? :lol:
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi archimede » 12/11/04 08:33

cassioli ha scritto:Vedo... dov'e' 'sto campo WHERE?!? :lol:
Beh, con un record per tabella non serve, altrimenti:
Codice: Seleziona tutto
SQLStr = "UPDATE " & DATA_TABLE.name & " SET miocampo='" & varx & "che bello" & "' WHERE miachiave=" & valore & ";"
db.Execute SQLStr, dbFailOnError
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Software Windows


Topic correlati a "VBA in Access: leggere un campo":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti