Funzione DSum

domenica 03 ottobre 2004 - 11.22

Kuma11 Profilo | Newbie

Devo sommare una certa categoria di dati presi da una query, e portare il risultato in una maschera. Ho provato a usare la funzione DSum, ma non riesco a impostare due criteri come ad esempio, Somma("Prezzo", "QueryDov'è il Prezzo","Dato1=mioDato AND Dato2=True"), Dato2 è di tipo Si/No. Ci sarà sicuramente un modo per farlo...qualcuno saprebbe dirmi la sintassi corretta o propormi strade alternative?Grazie

Brainkiller Profilo | Guru

Non ho ben capito che cosa vuoi fare.
Generalmente in SQL per fare una somma di valori si fa così:

SELET SUM(colonna_numerica) FROM TABELLA WHERE [condizioni]

ciao
david

Kuma11 Profilo | Newbie

Si in sql lo so, ma lo devo fare in visual basic da access. la funzione è DSum, simile alla DLook, solo che non riesco a dargli due criteri, me ne accetta solo uno. Mi spiego meglio. La mia maschera prende i dati da una query. devo aggiungere un campo che nella query non è presente e questo dato è la somma di una colonna chiamata PrezzoComplessivo. I criteri sono:il codiceProdotto=Me!CodiceProdotto e ImportoEsente=True. ImportoEsente specifica se è esente o meno da IVA. Provo a inserire tutti e due i criteri ponedo And e mi da errore, se invece ne inserisco solo uno(qualunque dei due) funziona. Non riesco a capire dove sbaglio. Comunque grazie lo stesso. Ciao

trinity Profilo | Guru

Mi posti il codice e te lo controllo?

Ciao
Fabio

Kuma11 Profilo | Newbie

per la funzione DSum ho risolto in un altro modo, ora se posso vorrei esporvi altri due quesiti, lo so sono una frana...
1) La maschera Anagrafe contiene ua sottomaschera Autorizzazioni. Vogio aprire Anagrafe (OpenForm) e visualizzare ,all'apertura, un record che soddisfa una cerata condizione. Questa condizione inteessa però un campo della sottomaschera Autorizzazioni. Ecco il codice che utilizzo:
Dim condizione As String
condizione = "Me.Autorizzazioni![CodiceAutorizzazione]=" & "
' " & DatoDaConfrontare &" ' "
DoCmd.OpenForm "Anagrafe", , , condizione
Il problema è che prima di aprire mi si apre una finestra dove mi chiede l'immissione del parametro Me.Autorizzazioni!CodiceAutorizzazione, come se non trovasse tale campo nella maschera Anagrafe, mentre invece è presente.
Sapete dirmi dove sbaglio? Oppure, come posso aprire una maschera eseguendo un criterio che coinvolge il campo di una sottomaschera i essa presente?

2) in una stringa sql da VisualBasic, come confronto due date?
ESEMPIO:
sql_reportc="select * from Tabella where data = MiaData"
Grazie per l'attenzione e per l'aiuto Ciao

trinity Profilo | Guru

Nel caso dell'esempio te fai una select dichiarando che tutti record che selzioni devo avere la data uguale a quella che indichi, mentre potresti utilizzare la clausola BETWEEN che ti permette di selezionare dei record in cui la che dichiari è compresa tra due periodi che possono essere compresi nel database:

Esempio:

Dim sql as string

sql="Select * From nome_tabella Where datatext Between campo_data1 AND campo_data2"

Ciao
Fabio

Kuma11 Profilo | Newbie

Il problema è che non so quali sono i caratteri che devono precedere la ia variabile data, mi spiego, se voglio confronare una stringa uso la sequenza '"& Me.MioDato &'"
sql_reportc = "select * from Tbella where Dato='" & Me.MioDatop & "';" per e date????? così non fnziona, ricordo che in VB6 usavo il carattere # ma qui non va, non so quale sia il problema, magari usando BETWEEN funziona....BO BO lo provo GrazieCiao

trinity Profilo | Guru

Dipende cmq. dal database, io nei database mysql utilizzo sempre il segno "&".

Ciao
Fabio

Kuma11 Profilo | Newbie

Ho rivisto il codice che mi avevi scritto e son riuscita ad applicarlo, grazie mille. Per quanto riguarda l'apertura della maschera contenente sottomaschere sai dirmi qualcosa? Ho spiegato il problema nei messaggi precedenti. Grazie ancora
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5