Avatar billede schoesler Nybegynder
22. september 2006 - 16:37 Der er 14 kommentarer og
1 løsning

Søgefunktion i underformular

Har en form [Vsathead] med til hørende subForm [VsatCosts]

I subFormen er der felterne 'Date, PhoneNumber, Destination, Duration, Cost, CallerID, Name

Ville gerne om jeg kunne skrive et navn i formen [Vsathead] som indgår i subformen, og total antal opkald (=Count[cost]) og total pris (=Sum([cost]) regnes sammen.

Kan ikke lige se hvordan

Hilsen og god weekend

/Jan
Avatar billede jesperfjoelner Nybegynder
22. september 2006 - 16:46 #1
Har du felter hvor antal opkald og samlet beløb skal stå?
Er der felter på VsatHead?
Skal VsatCosts filtreres så kun poster indeholdende navnet vises eller skal der bare regnes sammen?
Avatar billede schoesler Nybegynder
22. september 2006 - 17:21 #2
Min subForm indeholder feks

Date:    PhoneNumber:    Destination:    Duration:    Cost:          Caller ID:    Name:
9/20/2006 5:46:51 PM    45625422xx     Denmark     5:00     0.33     4500506071     Jan
9/20/2006 5:34:01 PM    45625422xx     Denmark     13:00     0.87     4500506071     Jan
9/20/2006 5:32:14 PM    45625422xx     Denmark     1:00     0.06     4500506071     Jan
9/20/2006 5:30:58 PM    45625422xx     Denmark     1:00     0.06     4500506071     Mads
9/20/2006 5:30:23 PM    45207154xx     Denmark-MobSo     1:00     0.36     4500506071     Mads
9/20/2006 5:02:42 PM    634398197xx     Philippines     2:00     0.52     4500506071     Herning
9/20/2006 4:59:49 PM    634398197xx     Philippines     2:00     0.52     4500506071     Herning
9/20/2006 4:37:34 PM    634398197xx     Philippines     21:00     5.52     4500506071     Jan
9/20/2006 4:36:26 PM    634331243xx     Philippines     1:00     0.26     4500506071     Mads
9/20/2006 4:34:33 PM    634398197xx     Philippines     2:00     0.52     4500506071     Herning
9/20/2006 4:32:31 PM    6392044852xx     Philippines-Mo     1:00     0.29     4500506071 Kurt
9/20/2006 4:31:26 PM    634398197xx     Philippines     1:00     0.26     4500506071     Herning
Avatar billede schoesler Nybegynder
22. september 2006 - 17:22 #3
Ja, det er felter på VsatHead

Ja, VsatCosts filtreres så kun poster indeholdende navnet vises
Avatar billede schoesler Nybegynder
22. september 2006 - 17:26 #4
Ville gerne om man kan lave en Combobox der indeholder navnene fra subFormen 'VsatCosts' [Navn] og dermed lave et filter som viser feks.

=[VsatCosts].[Form]![Ccount]

og

=[VsatCosts].[Form]![CostTotal]
Avatar billede schoesler Nybegynder
22. september 2006 - 17:27 #5
Måske man kunne sætte filtre for alle personer der indgår på subFormen
Avatar billede jesperfjoelner Nybegynder
22. september 2006 - 23:44 #6
Hvordan filterer du underformularen? ved at bruger filter=xx ?
Eller ved at give den en helt ny recordsource?

Kunne du lave noget i hændelsen cboNavn_AfterUpdate():

Me!VsatCount=dcount("[IDfelt]","tabelnavn"," & me.subformnavn.form.filter & ")
Me!VsatCost=dsum("[cost]","tabelnavn"," & me.subformnavn.form.filter & ")
Avatar billede schoesler Nybegynder
23. september 2006 - 08:54 #7
Feltet [Cost1] skal vise den totale samtale pris for feks. Jan
Avatar billede schoesler Nybegynder
23. september 2006 - 09:11 #8
SubFormen = VsatCosts og indeholder følgende felter:

ID, Date, PhoneNumber, Destination, Duration, Cost, callerID, Name

mainFormen = VsatHead og indeholder følgende felter:

ID1, Month, Year, Cost1
Avatar billede schoesler Nybegynder
23. september 2006 - 09:14 #9
Har en Combobox31 der henter navnene fra tabellen "VsatCosts"
Avatar billede schoesler Nybegynder
23. september 2006 - 09:46 #10
Har næsten fundet resultatet men for et heltal returneret feks. 0.06 bliver til 0.00

Private Sub Combo31_AfterUpdate()

Me.Cost1 = 0

Dim Stringsearch As String

Stringsearch = Me!Combo31

Me.Cost1 = DSum("[cost]", "VsatCosts", "[Name]='" & Stringsearch & "'")

End Sub
Avatar billede schoesler Nybegynder
23. september 2006 - 09:47 #11
får et heltal returneret feks. 0.06 bliver til 0.00
Avatar billede schoesler Nybegynder
23. september 2006 - 15:27 #12
Fandt en fejl i min tabel :-( Så nu virker det efter hensigten. På når når jeg sletter værdien i min combo31

Private Sub Combo43_AfterUpdate()

On Error GoTo Err_Combo43_AfterUpdate

Me.Cost4 = " "
Me.Count4 = " "


Dim Stringsearch As String

Stringsearch = Me!Combo43

Me.Cost4 = DSum("[cost]", "VsatCosts", "[Name]='" & Stringsearch & "'")
Me.Count4 = DCount("[ID]", "VsatCosts", "[Name]='" & Stringsearch & "'")


Exit_Combo43_AfterUpdate:
    Exit Sub

Err_Combo43_AfterUpdate:
    MsgBox "test", vbOKOnly
   
 
   
    Resume Exit_Combo43_AfterUpdate


End Sub
Avatar billede schoesler Nybegynder
23. september 2006 - 15:28 #13
På nær når jeg sletter værdien i min combo43, får jeg en fejl
Avatar billede jesperfjoelner Nybegynder
23. september 2006 - 16:53 #14
Så kan du måske gøre således:


Private Sub Combo43_AfterUpdate()

On Error GoTo Err_Combo43_AfterUpdate

Me.Cost4 = " "
Me.Count4 = " "


If not isnull(me!combo43) Then
Dim Stringsearch As String

Stringsearch = Me!Combo43

Me.Cost4 = DSum("[cost]", "VsatCosts", "[Name]='" & Stringsearch & "'")
Me.Count4 = DCount("[ID]", "VsatCosts", "[Name]='" & Stringsearch & "'")
Else
Me.Cost4 = DSum("[cost]", "VsatCosts")
Me.Count4 = DCount("[ID]", "VsatCosts")
End if

Exit_Combo43_AfterUpdate:
    Exit Sub

Err_Combo43_AfterUpdate:
    MsgBox "test", vbOKOnly
 

 
    Resume Exit_Combo43_AfterUpdate


End Sub
Avatar billede jesperfjoelner Nybegynder
23. september 2006 - 18:41 #15
Jeg takker. Håber det virker tilfredsstillende, ellers sig bare til.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester