12. juli 2002 - 09:12Der er
27 kommentarer og 1 løsning
kombibox og tekstfelt
Hej.
Jeg har lavet en kombinationsbox med værdierne 1. kvartal, 2. kvartal, 3. kvartal, 4.kvartal, 1. halvår, 2. halvår, Hele året.
og et tekstfelt hvori man skal indtaste kalenderår.
Jeg har så en tabel med en kolonne "Dato". Ideen er så, at efter man har valgt sine værdier, så skal alle de poster, som har dato indenfor de værdier man har valgt, vises.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan bruge noget i retning af (til din sql udvælgelse): datepart("q";[dato-felt-i-tabellen]) = forms![dinformular]![dinkomboboks]
Dette giver funktionen for kvartalerne. Hvis du kombinerer dette med en iif sætning, kan du vælge at bruge denne metode hvis værdien i komboboksen er 1-4.
Hvis du skriver lidt mere om hvordan du har tænkt dig at køre forespørgelsen, kan jeg måske skrive lidt mere til dig.
Hvis din komboboks hedder "Periode", så kan du lave en knap og lægge den kode på:
Dim SQLStr as String Select Case Me!periode Case "1. kvartal" SQLStr = "Dato between #" & Me!Kalenderår & "-01-01# And #" & Me!Kalenderår & "-03-31#" Case "2. kvartal" SQLStr = "Dato between #" & Me!Kalenderår & "-04-01# And #" & Me!Kalenderår & "-06-30#" Case "3. kvartal" SQLStr = "Dato between #" & Me!Kalenderår & "-07-01# And #" & Me!Kalenderår & "-09-30#" Case "4. kvartal" SQLStr = "Dato between #" & Me!Kalenderår & "-10-01# And #" & Me!Kalenderår & "-12-31#" Case "1. halvår" SQLStr = "Dato between #" & Me!Kalenderår & "-01-01# And #" & Me!Kalenderår & "-06-30#" Case "1. halvår" SQLStr = "Dato between #" & Me!Kalenderår & "-10-01# And #" & Me!Kalenderår & "-12-31#" Case "Hele året" SQLStr = "Year(Dato) = " & Me!Kalenderår end select Me.Filter = SQLStr Me.Filteron = True
Dette forudsætter at data ligger i den samme formular som Kalenderår og Periode. Men SQLStr kan også bruges, hvis du f.eks. vil åbne en rapport med disse keriterier.
If I were you I would have a button on the form and place Thomas' code in the on click event for the button! You could also put it ín th eafter update event for the combo but you need to make sure that a year HAS been entered.
Pyha, det er sgu lidt langhåret synes jeg.......Hvordan får jeg resultatet udskrevet?
Lad os sige at jeg på samme formular længere nede på siden har et tekstfelt som skal vise hvilken perioden man har valgt og dernæst skal alle de personer som f.eks. har fødselsdag indenfor den periode man har valgt blive udskrevet.
Hvordan ??
Jeg vil gerne give flere point hvis det er en større opgave!!
Hi software! I have now looked at your database and I can see there are 3 date intevals in the table (6 dates), none of them are named "Dato"!
Also, the form which gets opened to show the result isnt intended to show all records found between the entered period! As far as I can see you want to show how many "deltager" there with a number of hours 0-5 6-17 18-29 30-?
So the original question isnt correct! "så skal alle de poster, som har dato indenfor de værdier man har valgt, vises."
and this IS NOT what you want, or am I missing something?
Det er fordi jeg har modificeret databasen lidt. Meningen er at resultatet skal vise antallet af de personer som har antal timer under f.eks. dansk uglt indenfor de 4 forskellige intervaller:
0-5 timer, 6-17 timer osv.
Det vil sige at hvis man f.eks. vælger 1 kvartal i komboboxen og 2000 i kalenderår så skal "Opgørelse over periode:" være 2000 (tekstboksen øverst i formular kvartalresultat) samtidig skal alle dem som har en dansk start men ingen dansk slut vises som antal deltager udfra de forskellige tidligere nævnte 4 intervaller.
Jeg er en idiot til at formulere mig, men håber du forstod lidt af det??
Fordi det betyder at de stadig er igang med danskundervisning og det er kun dem som stadig deltager i dansk som skal findes.
Jeg ved godt at det originale spørgsmål er blevet ændret en del og du skal nok få flere point for den tid det eventuelt vil komme til at tage dig.
Hvis det viser sig at det kommer til at tage en helvedes tid, behøver du ikke at kæmpe med det, så må jeg bare prøve at finde en anden måde at gøre det på.
'a query to select for correct time interval SELECT [Samtlige aktiviteter].[Dansk start] AS Start, IIf([Dansk uglt]<6,6,IIf([Dansk uglt]<18,18,IIf([Dansk uglt]<30,30,IIf([Dansk uglt]<100,100,0)))) AS [Interval], [Samtlige aktiviteter].[Dansk uglt] FROM [Samtlige aktiviteter];
'To fill the fields on the from Private Sub Form_Load() Dim dStart As Date Dim dEnd As Date Dim iYear As Integer
No, it SHOULD be under Access or the points are not figured in the Access score!
Synes godt om
Ny brugerNybegynder
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.