Newsgroup: it.comp.lang.visual-basic
Titolo: *** Sintassi Recordset!Nome_Campo ***

Ciao a tutti,
ho un oggetto recordset     rs
se io voglio aggiornare un campo del recordset ad esempio pippo farò
rs!pippo = " xxxxx"
Giusto ?
se il recordset che ho aperto è frutto di una join tra due tabelle
devo specificare anche il nome tabella quando aggiorno il campo ?
Ad esempio join tra la tabella A e tabella B, pippo è un campo della tabella
A.
come sarà la sintassi ?
rs!Pippo = "xxxx" pare che non gli piaccia ...
Mi sbaglio ?
Che domanda casinosa vero ?
Saimon

 ha scritto nel messaggio
news:bnj249$bkf$1...@newsreader.mailgate.org...

rs("Pippo")
oppure
rs.fields("Pippo")

Ho provato ma pare che non gli piaccia perchè non aggiorna un c...o.
Non è che si riesce a specificare la tabella ?
Saimon

 ha scritto nel messaggio
news:bnj249$bkf$1...@newsreader.mailgate.org...
: Ciao a tutti,
:
: ho un oggetto recordset     rs
DAO, ADO ?
: se io voglio aggiornare un campo del recordset ad esempio pippo farò
: rs!pippo = " xxxxx"
:
: Giusto ?
:
: se il recordset che ho aperto è frutto di una join tra due tabelle
: devo specificare anche il nome tabella quando aggiorno il campo ?
:
: Ad esempio join tra la tabella A e tabella B, pippo è un campo della
tabella
: A.
: come sarà la sintassi ?
:
: rs!Pippo = "xxxx" pare che non gli piaccia ...
:
: Mi sbaglio ?
In parte si, a seconda della tecnologia che usi può essere necessario
richiamare il metodo Edit, e logicamente l'Update.
: Che domanda casinosa vero ?
No, forse hai le idee un po' confuse, MSDN è tua amica.
: Saimon
Ciao, Luca.

La tecnologia è ADO ...
ma l'errore non penso più sia a causa della sintassi ...
adesso ho un quesito ancora più strano ...
Come mai quando aprò il recordset e cerco di aggiornare un campo,
mi dice che il database o l'oggetto è di sola lettura ?
Chiaramente il database non è di sola lettura , non ci sono password ecc.
Mah ... sarà la febbre che ho !!!
Saimon

 Saimon
ciaociao

 Saimon

[*Saimon72* = 
saimon...@supereva.it
 in
news:bnj249$bkf$
1...@newsreader.mailgate.org
] ha scritto:

Eh, sì...
Un qualsiasi recordset non ammetterà mai due campi con nomi identici, anche
se appartenenti a tabelle diverse.
In alcuni casi il buonismo del chiamante (e/o motore) assegna
automaticamente un nome campo standard (per esempio Expr1001) a un campo con
nome duplicato. I più crudi (senza una clausola " ... As
tuo_nome_per_il_campo...) ti spiaccicheranno un errore sul video.
Quindi il problema non esiste proprio: ogni campo del recordset, comunque
composto, deve (!) essere univoco. Il tuo rs!pippo continua a valere, se il
campo con nome (anche virtual-temporaneo) pippo esiste. In alternativa
dovrai usare rs!tuo_nome_per_il_campo...

 devo specificare anche il nome tabella quando aggiorno il campo ?
Dipende da cos'hai nella select.
Se la select è qualcosa tipo
SELECT tab1.pippo, tab2.pippo ...
dovrai specificare anche il nome della tabella, poichè è ovvio che non 
saprebbe quale dei due prendere:
rs("tab1.pippo")
Alternativamente puoi fare:
SELECT tab1.pippo AS pippo1, tab2.pippo AS pippo2...
e usare rs("pippo1")
Non ricordo se ti lascia fare qualcosa tipo
SELECT tab1.pippo AS pippo, tab2.pippo...
e usare rs("pippo")
Ciao

 composto, deve (!) essere univoco. 
E perchè mai? :)
Vedi mio altro post
Ciao

 E perchè mai? :)
Non mi riferisco all'omonimia dei nomi dei campi in tabelle diverse, ma alla
stessa in un singolo recordset

 ma alla stessa in un singolo recordset
Anch'io ero convinto non si potesse fare, invece funzia (il nome del campo č
dati da tabella.campo anche nel recordset)
ciaociao

 campo è dati da tabella.campo anche nel recordset)
Ho provato ed è effettivamente così.
Giuro su qualunque cosa vogliate che fino a qualche mese fa "creava" il
campo Expr1000 (e a crescere).
Potenza del LiveUpdate?
Quel che intendevo è comunque (ancora) riproducibile facendo "Select C1, C1
From Tabella"

 C1, C1 From Tabella"
beh, così per forza! non potrebbe in alcun altro modo riconoscere,
giustamente,  i campi (essendo la stessa tabella)
ciaociao

 giustamente,  i campi (essendo la stessa tabella)
Invece funziona ugualmente, ma questo è il caso che diceva lupo: uno dei 
due campi viene rinominato come rs("Expr1000") :)
Ciao

 Ciao
ciaociao

 Non è che si riesce a specificare la tabella ?
so ignorante lo premetto, ma non e' che non aggiorna nulla perche' quellache
hai nel RS non e' una tabella ma una Query di _SELEZIONE_ ?
Apri un rs fittizio parallelo in cui carichi solo la tab da aggiornare!
-- 
-Gigio@Work(?)-