PDA

View Full Version : [ACCESS] Visualizzare dati nel Corpo tramite codice VBA


almaxy
16-07-2011, 17:14
Cia a tutti, ho bisogno di un aiuto.... cercherò di essere breve.
Per visualizzare i dati le corpo basta associare la maschera ad una query ed il gioco è fatto...
ora io vi chiedo una cosa, se io associo alla maschera nessuna query e pure ai campi non associo nula.... tramite codice posso farli visualizzare ugualmente?

IO posso usare :
Form_Qsmarcamento.RecordSource = "SELECT * FROM Qsmarcamento*
PERSONALE.ControlSource = "PERSONALE"
per ottenere + o - lo stesso risulato..

ora io vi chiedo qualcosa in più, vorrei usare il:

Do While rds.EOF = False

[qui vorrei far visualizzare riga per riga il record, questo xchè per ogni riga che verrà visualizzata nel corpo devo fare un controllo con un altra SQL]

rds.movenext
loop

è possibile? qual è la sintassi giusta?
Spero di essermi spiegato

GRAZIE 1000

almaxy
20-07-2011, 20:35
Cia a tutti, ho bisogno di un aiuto.... cercherò di essere breve.
Per visualizzare i dati le corpo basta associare la maschera ad una query ed il gioco è fatto...
ora io vi chiedo una cosa, se io associo alla maschera nessuna query e pure ai campi non associo nula.... tramite codice posso farli visualizzare ugualmente?

IO posso usare :
Form_Qsmarcamento.RecordSource = "SELECT * FROM Qsmarcamento*
PERSONALE.ControlSource = "PERSONALE"
per ottenere + o - lo stesso risulato..

ora io vi chiedo qualcosa in più, vorrei usare il:

Do While rds.EOF = False

[qui vorrei far visualizzare riga per riga il record, questo xchè per ogni riga che verrà visualizzata nel corpo devo fare un controllo con un altra SQL]

rds.movenext
loop

è possibile? qual è la sintassi giusta?
Spero di essermi spiegato

GRAZIE 1000

:help:

zakmckraken
21-07-2011, 07:53
Corpo? Corpo umano? Corpo dei VVFF?? Scusa l'ignoranza ma sono curioso!

almaxy
22-07-2011, 22:46
Corpo? Corpo umano? Corpo dei VVFF?? Scusa l'ignoranza ma sono curioso!

... ma... mi prendi in giro o dici sul serio...
ho parlato di maschere ACCESS, quindi hanno:
Intestazione maschera
Intestazione pagina
Corpo (alla maschera associo una query, e qui veng. visualizzati i dati in automatico)
Intestazione pagina pagina
Piè di pagina maschera

almaxy
18-01-2012, 10:54
Cia a tutti, ho bisogno di un aiuto.... cercherò di essere breve.
Per visualizzare i dati le corpo basta associare la maschera ad una query ed il gioco è fatto...
ora io vi chiedo una cosa, se io associo alla maschera nessuna query e pure ai campi non associo nula.... tramite codice posso farli visualizzare ugualmente?

IO posso usare :
Form_Qsmarcamento.RecordSource = "SELECT * FROM Qsmarcamento*
PERSONALE.ControlSource = "PERSONALE"
per ottenere + o - lo stesso risulato..

ora io vi chiedo qualcosa in più, vorrei usare il:

Do While rds.EOF = False

[qui vorrei far visualizzare riga per riga il record, questo xchè per ogni riga che verrà visualizzata nel corpo devo fare un controllo con un altra SQL]

rds.movenext
loop

è possibile? qual è la sintassi giusta?
Spero di essermi spiegato

GRAZIE 1000

Qulcuno che mi da una mano?

almaxy
19-01-2012, 16:34
:help:

almaxy
23-01-2012, 12:55
Cia a tutti, ho bisogno di un aiuto.... cercherò di essere breve.
Per visualizzare i dati le corpo basta associare la maschera ad una query ed il gioco è fatto...
ora io vi chiedo una cosa, se io associo alla maschera nessuna query e pure ai campi non associo nula.... tramite codice posso farli visualizzare ugualmente?

IO posso usare :
Form_Qsmarcamento.RecordSource = "SELECT * FROM Qsmarcamento*
PERSONALE.ControlSource = "PERSONALE"
per ottenere + o - lo stesso risulato..

ora io vi chiedo qualcosa in più, vorrei usare il:

Do While rds.EOF = False

[qui vorrei far visualizzare riga per riga il record, questo xchè per ogni riga che verrà visualizzata nel corpo devo fare un controllo con un altra SQL]

rds.movenext
loop

è possibile? qual è la sintassi giusta?
Spero di essermi spiegato

GRAZIE 1000

:muro: uff... nessuno è in grado di darmi una mano? :(
Grazie

EnricoHU
23-01-2012, 15:38
ciao,

personalmente non capisco perchè vuoi usare un'istruzione SQL all'interno di un recordset lavorando sulla stessa tabella ...

non associare il form e poi riempirlo "manualmente" si può fare, ma potrebbe essere complicato.

il controllo all'interno di una selezione l'ho sempre risolto con una query nidificata (non mi ricordo se è il termine comune)

o forse non ho capito bene (e, forse, non soltanto io)

almaxy
24-01-2012, 00:27
ciao,

personalmente non capisco perchè vuoi usare un'istruzione SQL all'interno di un recordset lavorando sulla stessa tabella ...

non associare il form e poi riempirlo "manualmente" si può fare, ma potrebbe essere complicato.

il controllo all'interno di una selezione l'ho sempre risolto con una query nidificata (non mi ricordo se è il termine comune)

o forse non ho capito bene (e, forse, non soltanto io)

cercherò di dare una spiegazione, o per lo meno ci provo, lavoro un pò con ASP e non ho di questi inconvenienti, ma è questo è dovuto alle mie scarse conoscenze di access....
Praticamente voglio prendere sotoo controllo l'inserimento dei campi all'interno del corpo.. questò perchè...
quando la mia query inserisce man mano i campi io faccio fare un controllo data e valore al di fuori dalla query e mi riempe il valore di un campo che non è il risulato della quary... mi sa che non sono stato chiaro vero? :(
e poi vorrei colorare alcuni campi in base ad un determinato risultato che imposto io....
Grazie ugualmente

EnricoHU
24-01-2012, 10:59
devi fornirci dei dati di esempio, altrimenti non ne veniamo fuori ...

in una sql posso benissimo mettere (select * from tabella where data=(select ????) and valore=(select ????)

vorrei colorare alcuni campi in base ad un determinato risultato che imposto io...

si usa la formattazione condizionale degli oggetti

!fazz
24-01-2012, 12:58
è fattibile

nel caso il popolamento dipenda da un parametro nella query (caso più comune) la soluzione più pratica è creare una query parametrica in access (quelle dove metti nel criterio ad esempio [parametro] e ti appare un popup per richiedere il codice

dopo nel load della maschera metti questo


Dim qdf As DAO.QueryDef
Dim rs As DAO.Recordset
Set qdf = CurrentDb.QueryDefs("nomequery")
qdf.Parameters![parametro] = valoreparametro

Set rs = qdf.OpenRecordset
If rs.EOF Then
a = MsgBox("no record", vbCritical, "errore")

Else
campomaschera1.Value = rs.Fields("campoquery1")
campomaschera2.Value = rs.Fields("campoquery2")
...
...
...
...
End If

almaxy
24-01-2012, 18:30
è fattibile

nel caso il popolamento dipenda da un parametro nella query (caso più comune) la soluzione più pratica è creare una query parametrica in access (quelle dove metti nel criterio ad esempio [parametro] e ti appare un popup per richiedere il codice

dopo nel load della maschera metti questo


Dim qdf As DAO.QueryDef
Dim rs As DAO.Recordset
Set qdf = CurrentDb.QueryDefs("nomequery")
qdf.Parameters![parametro] = valoreparametro

Set rs = qdf.OpenRecordset
If rs.EOF Then
a = MsgBox("no record", vbCritical, "errore")

Else
campomaschera1.Value = rs.Fields("campoquery1")
campomaschera2.Value = rs.Fields("campoquery2")
...
...
...
...
End If


ummm.. non fa proprio a caso mio xchè io il controllo lo voglio fare all'interno della query.
ad esempio, tralasciando le query, io ho una matrice o meglio un vettore dinamico... come faccio a popolare i campi all'interno del "corpo"? Il codice?
Grazie

!fazz
24-01-2012, 18:45
ummm.. non fa proprio a caso mio xchè io il controllo lo voglio fare all'interno della query.
ad esempio, tralasciando le query, io ho una matrice o meglio un vettore dinamico... come faccio a popolare i campi all'interno del "corpo"? Il codice?
Grazie

la parte dopo l'else popola i campi della maschera

per cambiare il colore di sfondo usa campomaschera.backcolor

almaxy
24-01-2012, 19:57
la parte dopo l'else popola i campi della maschera

per cambiare il colore di sfondo usa campomaschera.backcolor

ma ci siamo capiti vero? non proprio la maskera, ma l'interno del corpo.
col vettore sicuramente e diverso, sai il codice?
grazie

!fazz
25-01-2012, 00:53
ma ci siamo capiti vero? non proprio la maskera, ma l'interno del corpo.
col vettore sicuramente e diverso, sai il codice?
grazie

se non ti spieghi chiaramente è difficle capirti e molto anche

almaxy
25-01-2012, 17:50
se non ti spieghi chiaramente è difficle capirti e molto anche

e lo so ti capisco.. faccio un esempio
ho il vettore: V(n). quindi io ho:
V(1) = "pippo"
V(2) = "pluto"
V(3) = "topo"
V(4) = "paperino"
V(n) = "altro"
...... ect. (vettore dinamico)

facendo un for... next
for i=1 to n
V(i) [che codice devo scrivere per farli visualizzare all'interno del corpo?]
next

P.S. volendo agg. un'altra cosa, voglio che il campo diventi blu quando V(3) = "topo"
spero che sia + chiaro...

!fazz
26-01-2012, 09:41
e lo so ti capisco.. faccio un esempio
ho il vettore: V(n). quindi io ho:
V(1) = "pippo"
V(2) = "pluto"
V(3) = "topo"
V(4) = "paperino"
V(n) = "altro"
...... ect. (vettore dinamico)

facendo un for... next
for i=1 to n
V(i) [che codice devo scrivere per farli visualizzare all'interno del corpo?]
next

P.S. volendo agg. un'altra cosa, voglio che il campo diventi blu quando V(3) = "topo"
spero che sia + chiaro...

il numero di elementi è fisso / ha un massimo fissato?
se hai un numero fisso di elementi massimi la cosa più facile è creare n label invisibili da riempire e rendere visibili (proprietà visible=true) alla bisogna
se invece non hanno un massimo definito devi creare il controllo direttamente da codice mediante il metodo createcontrol e gestire da codice il layout degli stessi
per la colorazione dello sfondo ti ho risposto 4 post fà

almaxy
26-01-2012, 10:38
la parte dopo l'else popola i campi della maschera

per cambiare il colore di sfondo usa campomaschera.backcolor

i dati sono non hanno un max definito...

La sintassi per il colore la conosco, il problema e che mi colora tutta la colonna di campi...

!fazz
26-01-2012, 13:48
i dati sono non hanno un max definito...

La sintassi per il colore la conosco, il problema e che mi colora tutta la colonna di campi...

su che oggetto imposti la proprietà backcolor?