Avatar billede region Nybegynder
28. januar 2000 - 12:30 Der er 7 kommentarer og
1 løsning

tegn som kriterie i kombiboks

hvordan kan jeg anvende <, >, <>, =, tegn i en kombibox baseret på en forespørgsel. man kan jo direkte i kriterierne i forespørgslen.
Avatar billede privaten Nybegynder
28. januar 2000 - 17:23 #1

Hvad er det præcis du vil?
Avatar billede region Nybegynder
30. januar 2000 - 14:20 #2
jeg har en kombiboks hvor jeg udvælger kriterier til kørsel af en forespørgsel som vises som underformular,eks. kunde numre. Det jeg ønsker er f.eks at kunne angive kunde numre "mindre end" eller "større end " en given størrelse.
Avatar billede privaten Nybegynder
30. januar 2000 - 14:57 #3

Dim strTegn(0 To 3) As String
strTegn(0) = "<"
strTegn(1) = ">"
strTegn(2) = "<>"
strTegn(3) = "="

' Nu skal indholdet af din combobox være:
' "Mindre end"
' "Større end"
' "Forskellig fra"
' "Lig med"

' Comboboxen hedder her 'myBox'
strSQL = "SELECT * FROM WHERE feltid" + strTegn(myBox.ListIndex) + "værdien der skal testes på"

værdien der skal testes på hentes selvfølgelig på samme vis

Avatar billede privaten Nybegynder
30. januar 2000 - 14:59 #4
Hov jeg fik ikke "pastet" starten med ind, her kommer det hele igen, undskyld...


Hej igen,

Hvis jeg forstår dig rigtigt vil du gerne kunne ændre værdien af en combobox, for på den måde at ændre på søgekriterierne?

Hvis, kan du gøre fx.:

Et eller andet sted hvor sql-statementet skal bygges skriver du flg. kode (eller noget der ligner)



Dim strTegn(0 To 3) As String
strTegn(0) = "<"
strTegn(1) = ">"
strTegn(2) = "<>"
strTegn(3) = "="

' Nu skal indholdet af din combobox være:
' "Mindre end"
' "Større end"
' "Forskellig fra"
' "Lig med"

' Comboboxen hedder her 'myBox'
strSQL = "SELECT * FROM WHERE feltid" + strTegn(myBox.ListIndex) + "værdien der skal testes på"
Avatar billede region Nybegynder
30. januar 2000 - 16:33 #5
jeg fatter ikke VB.... forstå mig sådan her..

formularnavn = form1

i forespørgselsdesign har jeg i kriterier for eks kundenr indsat flg.

Like Forms![form1]![Kombinationsboks0] Or Forms![form1]![Kombinationsboks0] = null

ovenstående resulterer i at jeg kan skrive f.eks

"0100000" i kombibox 0,og dette kundenr findes nu.
Jeg har også mulighed for at skrive "01*" og  nu vises alle kundenr der starter med 01.

Det jeg ønsker at at kunne skrive "<01*"
for herved kun at få vist alle kundenr der er mindre end 01*. Det er dette "<"
tegn min forespørgsel ikke vil acceptere idet den leder efter et kundenr der hedder "<01" hvilket jo ikke eksisterer.

jeg har også prøvet at lave en ekstra kombibox til at indeholde tegnet, men stadigvæk søges der specifikt på indholdet af kombiboxen.

Det må kunne lade sig gøre, idet man jo i kriterierne direkte i den enkelte forespørgsel kan skrive "<01*" og så virker det jo.

< tegnet er kun et eks. Dette kunne lige så godt have været >, eller andet.


Du skal ligeledes vide at jeg gerne vil have resultatet præsenteret via en generatorløsning eller i nødstilfælde SQL.
Avatar billede privaten Nybegynder
30. januar 2000 - 16:51 #6
Hej igen,

Det er også det jeg mener du kan gøre med min kode. Pointen er at du sammensætter dit SQL af flere stumper fx.

Stump1 = "Select * from blabla where feltnavn"
Stump2 = strTegn(myBox.ListIndex)
Stump3 = "'Det der skal stå efter <,>,<>,= tegnene'"

strSQL = Stump1+Stump2+Stump3

myBox.ListIndex, afleverer indexet på det du har valgt i din combobox, hvis du har valgt den første mulighed (<) så afleverer den tallet 0. strTegn(0) har vi jo initieret til strengværdien "<" og det bliver nu lagt over i Stump2 variablen.

Så det samlede SQL statement bliver jf. ovenstående eksempel:
"Select * from blabla where feltnavn<'Det der skal stå efter <,>,<>,= tegnene'

Giver det mening?
Avatar billede region Nybegynder
30. januar 2000 - 17:13 #7
ikke helt, men du fortjener alligevel pointene for dit engagement...
Avatar billede privaten Nybegynder
30. januar 2000 - 17:22 #8

Takker, hvis det bliver ved med at drille, er du velkommen til at maile et eksempel af din db. (uden for megen data)
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