Avatar billede Slettet bruger
12. juni 2006 - 14:40 Der er 9 kommentarer og
1 løsning

Markere en værdi i en listbox

Jeg har en forespørgsel til en listbox (som hedder helligedage):

SELECT Count(helligdage.idHelligdag) AS CountOfidHelligdag FROM helligdage WHERE (((helligdage.DatoHelligdag) Between [forms]![fanebladbemandingsplan]![fradato] And [forms]![fanebladbemandingsplan]![tildato]));

Så har jeg en sub:

Private Sub NormGruppe_AfterUpdate()
Me.TimerPrDag = (Me.NormGruppe.Column(1) / 5) * (Form_FanebladBemandingsplan.Hverdage - Form_FanebladBemandingsplan.Helligedage.Column(0))
End Sub

men da Helligedage ikke er valgt/markeret, så henter den ikke værdien, selvom man kan se den i formularen. Det virker hvis jeg markerer den først, men det er jo ikke sådan det skal virke. Hvordan får jeg det til at virke?~)

Det behøves egentlig ikke at være løsningen at markere værdien eller flytte den til et tekstfelt. Mit første forsøg gik på at få værdien fra forespørgslen til at stå i et tekstfelt, men det fik jeg altså ikke til at virke. Det ville ellers være det optimale!~)
Avatar billede mugs Novice
12. juni 2006 - 14:46 #1
Sådan overfører du flere markeringer i en liste til en tekstboks:

Dim itm As Variant
Dim txt As String
If Me!liste2.ItemsSelected.Count > 0 Then
For Each itm In Me!liste2.ItemsSelected
txt = txt & Me!liste2.ItemData(itm) & " ; "
Next itm
txt = Left(txt, Len(txt) - 2)
End If
Me!Felt der skal modtage data = txt

en forudsætning er, at markeringen i liste "Flere markweringer" er sat til Simpel
Avatar billede Slettet bruger
12. juni 2006 - 14:52 #2
Der er (og vil altid være) kun en værdi i listboxen, det er derfor jeg godt ville have denne værdi direkte i en tekstbox i stedet for en listbox!~)
Avatar billede Slettet bruger
12. juni 2006 - 15:04 #3
Mit problem er netop i det setup jeg er endt i (pga. manglende evner) at jeg ikke har nogen .ItemsSelected!~)
Avatar billede mugs Novice
12. juni 2006 - 15:18 #4
Hvordan vil du have, at db skal skelne mellem posterne, hvis der ikke er valgt nogle poster?
Avatar billede Slettet bruger
12. juni 2006 - 15:23 #5
Præcis, jeg har rodet mig ud i noget snavs...
Avatar billede Slettet bruger
12. juni 2006 - 15:25 #6
Kan man i vba køre forespørgslen og indsætte værdien i et tekstfelt?~)
Avatar billede mugs Novice
12. juni 2006 - 15:26 #7
Hvis du markerer en post vil du altid have en "Items.Selected"
Avatar billede Slettet bruger
12. juni 2006 - 15:32 #8
ja, men her vælger man en periode, fradato/tildato og så står der i et tekstfelt, hvor mange hverdage, som der er i perioden. Der er dog ikke taget hensyn til helligdage, så disse findes i en tabel og antallet skulle så returneres til et andet tekstfelt, men det kunne jeg ikke finde ud af, så jeg prøvede med en listbox. Med listboxen kunne jeg få resultatet frem, men jeg kan ikke bruge det i videre beregninger, fordi det ikke er markeret. Og det er ikke meningen at folk skal markere helligdage, for at udregningerne virker.

Hvis jeg kunne markere resultatet i listboxen og så køre mine udregninger, så ville det være ok. Det optimale ville være at undgå listboxen og få resultatet i en tekstbox, med det samme!
Avatar billede Slettet bruger
13. juni 2006 - 07:37 #9
Kan man køre en dlookup på en forespørgsel?~)
Avatar billede Slettet bruger
13. juni 2006 - 08:51 #10
Jeg ville gerne have undgået at bruge recordsource, men nu har jeg lavet en rigtig fjollet løsning, som jeg faktisk tror at brugeren vil syntes om det. Jeg har lavet en on/off knap.... Ved on så sætter jeg recordsource på, controlsource på tekstfeltet og aktiverer de resterende felter i mit "beregningsmodul"!~)
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