Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Acess conta record particolare con recordset
lunedì 27 febbraio 2012 - 17.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
torbace
Profilo
| Newbie
3
messaggi | Data Invio:
lun 27 feb 2012 - 17:27
Ciao ragazzi,
ho due tabelle così composte:
TABELLA (RDA_T)
• IDRDA [COLOR="#A9A9A9"]NUMERAZIONE AUTOMATICA[/COLOR]
• NUMERORDA [COLOR="#A9A9A9"]TESTO[/COLOR]
• REVISIONE [COLOR="#A9A9A9"]TESTO[/COLOR]
• IDCOMMESSA [COLOR="#A9A9A9"]NUMERICO[/COLOR]
• OGGETTO [COLOR="#A9A9A9"]TESTO[/COLOR]
• DESCRIZIONE [COLOR="#A9A9A9"]MEMO[/COLOR]
• DATA [COLOR="#A9A9A9"]DATA[/COLOR]
• COMPILATODA [COLOR="#A9A9A9"]TESTO[/COLOR]
• EMESSA [COLOR="#A9A9A9"]BOOLEANO (SI,NO)[/COLOR]
TABELLA (RDAMAT_T)
• IDRDAMAT [COLOR="#A9A9A9"]NUMERAZIONE AUTOMATICA[/COLOR]
• IDRDA [COLOR="#A9A9A9"]NUMERICO[/COLOR]
• POSIZIONE [COLOR="#A9A9A9"]TESTO[/COLOR]
• DESCRIZIONE [COLOR="#A9A9A9"]TESTO[/COLOR]
• NOTE [COLOR="#A9A9A9"]MEMO[/COLOR]
• MAG [COLOR="#A9A9A9"]ELENCO VALORI (SI, NO, INPARTE)[/COLOR]
• ORDINATO [COLOR="#A9A9A9"]ELENCO VALORI (SI, NO, INPARTE)[/COLOR]
• ARRIVATO [COLOR="#A9A9A9"]ELENCO VALORI (SI, NO, INPARTE)[/COLOR]
Devo creare una maschera a visualizzazioni continue della tabella (RDA_T) dove devo aggiungere quattro textbox, ognuna delle quali deve contare i campi come descritto qui:
textbox1: deve contare i record dove ([MAG]="SI")
textbox2: deve contare i record dove ([MAG]=<>"SI" AND [ORDINATO]="SI")
textbox3: deve contare i record dove ([ORDINATO]="SI" AND [ARRIVATO]="NO")
textbox4: deve contare i record dove ([ORDINATO]="SI" AND [ARRIVATO]="SI")
Non credo che possa fare tutto questo tramite SQL anche perchè verrebbe fuori del codice piuttosto sporco.
Dovrò sicuramente usare DAO oppure ADO. Ho provato a fare da solo ma non so come fare ad assegnare ad ogni riga il numero esatto.
Posto del codice che è sicuramente sbagliato ma magari qualcuno lo saprà correggere al meglio :D
[QUOTE]Private Sub Form_Load()
Dim dbcorrente As DAO.Database
Dim MAG As DAO.Recordset
Dim NOARRIVATO As DAO.Recordset
Dim ARRIVATO As DAO.Recordset
Dim ORDINARE As DAO.Recordset
Dim contaMAG As Integer
Dim contaNOARRIVATO As Integer
Dim contaARRIVATO As Integer
Dim contaORDINARE As Integer
Set dbcorrente = CurrentDb
Set MAG = dbcorrente.OpenRecordset("?????????????") 'Mettere il codice SQL per filtrare dove mag=si
Set NOARRIVATO = dbcorrente.OpenRecordset("?????????????") 'Mettere il codice SQL per filtrare [MAG]=<>"SI" AND [ORDINATO]="SI"o
Set ARRIVATO = dbcorrente.OpenRecordset("?????????????") 'Mettere il codice SQL per filtrare ([ORDINATO]="SI" AND [ARRIVATO]="NO")
Set ORDINARE = dbcorrente.OpenRecordset("?????????????") 'Mettere il codice SQL per filtrare ([ORDINATO]="SI" AND [ARRIVATO]="SI")
Me.Dirty = False
Do While Not MAG.EOF
contaMAG = contaMAG + 1
MAG.MoveNext
Loop
Do While Not NOARRIVATO.EOF
contaNOARRIVATO = contaARRIVATO + 1
NOARRIVATO.MoveNext
Loop
Do While Not ARRIVATO.EOF
contaARRIVATO = contaARRIVATO + 1
ARRIVATO.MoveNext
Loop
Do While Not ORDINARE.EOF
contaORDINARE = contaORDINARE + 1
ORDINARE.MoveNext
Loop
Testo1.Value = contaMAG
Testo2.Value = contaNOARRIVATO
Testo3.Value = contaARRIVATO
Testo4.Value = contaORDINARE
End Sub[/QUOTE]
Quello che voglio ottenere è questo:
[URL=
http://www.imagebam.com/image/0b2cac177056980
][IMG]
http://thumbnails44.imagebam.com/17706/0b2cac177056980.jpg
[/IMG][/URL]
Qualcuno mi può aiutare??
Grazie :)
renarig
Profilo
| Expert
517
messaggi | Data Invio:
mar 28 feb 2012 - 22:16
Forse mi sfugge qualcosa nella tua domanda.
Stai facendo tanto lavoro ma ci sono delle funzioni apposite semplicissime
Io userei semplicemente la funzione "DCount" ( la trovi nell'help )
_____________________________________________________________________________________
Il primo valore potrebbe essere dato da una casella di testo ( textbox ) nella
maschera con dentro questa formula
___ =DCount("[IDRDAMAT]";"[RDAMAT_T]";"[MAG] = 'SI'") ___
Il terzo valore invece
___ =DCount("[IDRDAMAT]";"[RDAMAT_T]";"[ORDINATO] = 'SI' AND [ARRIVATO] = 'NO'") ___
_____________________________________________________________________________________
Primo NB __ Se preferisci generare la funzione non in maschera ma con VBA
devi sostituire i puntievirgola (;) con delle virgole (,)
______________________________________________________________________________________
Secondo NB ___ Io ho interpretato i tuoi SI e NO come testo ..... giusto ???
perche se fossero invece campi booliani devi scrivere -1 e 0 ( senza apici )
_______________________________________________________________________________
Terzo NB __ Io ho supposto che il campo [IDRDAMAT] sia il campo chiave
quindi sempre assolutamente compilato.
Se non hai questa certezza sostituiscilo semplicemente con un asterisco (*)
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !