Avatar billede celal Nybegynder
21. maj 2002 - 13:03 Der er 50 kommentarer og
1 løsning

Mangler en løsning

Jeg har en form hvor jeg kan sætte flueben i 8 afkrydsnings felter, når man sætter et kryds bliver der i tabellen (TabelA ) sat en dato for hvornår man har sat krydset. TabelA indeholder stamoplysninger om nogle kunder (+ 8 afkrydsnings felter + 8 dato felter)

Nu vil jeg gerne lave det således at man kan lave en selektering på de 8 Afkrydsnings felter.
Eks: man skal kunne sætte kryds ud for afkrydsnings felt nr 1 og samtid en fra og til dato, når man så køre forespørgslen, kommer alle de kunder frem som har et kryds i afkrydsnings felt nr1 og i det dato interval som man har skrevet.

Hvordan takler jeg denne situation? Man skal på en form kunne vælge fra de 8 afkrydsnings felter og sætte interval datoen.

Skal det laves på forespørgslen eller i VBA kode?

Håber der er nogen der har ide om hvordan det er bedst at gribe situationen an.
Avatar billede terry Ekspert
21. maj 2002 - 13:05 #1
You can do it in the query
Avatar billede hansk Nybegynder
21. maj 2002 - 13:10 #2
Det vil være nogenlunde simpelt at sætte kriteriet op i VBA koden. Jeg tror du får mange problemer hvis du vil gøre det i SQL'en.
Avatar billede hansk Nybegynder
21. maj 2002 - 13:15 #3
Har du lavet VBA før?
Avatar billede celal Nybegynder
21. maj 2002 - 13:16 #4
Ja, når brugeren skal vælge kriterierne fra en form...?
Avatar billede celal Nybegynder
21. maj 2002 - 13:18 #5
jo, jeg har lavet noget i VBA før. Det var også den tanke jeg havde først, men det kunne så være at det var nemmere at lave forarbejdet i en Query først.....Men det er det så ikke?
Avatar billede hansk Nybegynder
21. maj 2002 - 13:21 #6
Med 8 forskellige muligheder og kombinationer deraf er det nemmere at gå på balance på en snor over niagara end at lave det i SQL.
Prøv i VBA og se hvordan det går.
Avatar billede celal Nybegynder
21. maj 2002 - 13:29 #7
Okay, men når jeg har lavet min form over de kriterier som jeg kan vælge, så skal jeg kunne få fat i Stamoplysningerne på kunder som opfylder disse kriterier.

Kan jeg så kunderne til en rapport?

dvs. Form->VBA->Rapport
kan jeg ende med at få resultatet af kriterierne i en rapport? hvordan?
Avatar billede hansk Nybegynder
21. maj 2002 - 13:37 #8
Okay, standard vba kode der bliver dannet når du ber om en rapport kan se således ud:

    stDocName = "KundeListe"
    stLinkCriteria = "[Kundegruppe]=" & "'" & Me![KundeGruppe] & "'"

    DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria

Variablen stLinkCriteria skal du så blot modificere med dine kriterier som du sammensætter fra alle 8 afkrydsningsfelter.
Avatar billede hansk Nybegynder
21. maj 2002 - 13:41 #9
Det kan evt være noget a la:

if Me.Afkrydsningsfelt1 then stLinkCriteria = stLinkCriteria & ' AND Feltnavn=' & me.Feltvalue
Avatar billede celal Nybegynder
21. maj 2002 - 13:47 #10
okay, jeg prøver lige
Avatar billede terry Ekspert
21. maj 2002 - 13:54 #11
whenyou do it in a query there is a "Builder" you can use in the criteria field to help you choose the fields from the form. This should be just as easy or even easier than doing it in VBA!
Avatar billede celal Nybegynder
21. maj 2002 - 13:55 #12
der er lige en anden ting ang. min form:

jeg har levet mine 8 afkrydsnings felter(kriterier), ved siden af afkrydsnings feltet har jeg to textboks felter som skal indeholde dato intervalet, men hvordan kan jeg gøre de to textbox felter ikke tilgængelige. dvs. at man ikke kan gøre noget ved dem før man har klikke på afkrydsnings feltet?
Jeg har før set applikationer hvor feltet er grå, dvs. at man ikke kan skrive noget, før man har åbnet feltet ved at klikke på et andet felt.
Avatar billede celal Nybegynder
21. maj 2002 - 13:56 #13
Terry: Builder? hvordan virker den? hvordan får jeg fat i den? og kan den virke i samarbejde med min form?
Avatar billede hansk Nybegynder
21. maj 2002 - 14:02 #14
Felterne på din form har en attribut som hedder feltnavn.enabled. Den sætter du blot til true eller false.
Avatar billede hansk Nybegynder
21. maj 2002 - 14:02 #15
Sagde jeg at det skal du også gøre i VBA.
Avatar billede terry Ekspert
21. maj 2002 - 14:05 #16
right click in the criteria field when you are in the query builder. Choose build then Forms, Loaded Forms. You should thenbe able to see the fields on the form (IT HAS TO BO OPEN.

Yes it works "i samarbejde" with your form!
Avatar billede celal Nybegynder
21. maj 2002 - 14:16 #17
hansk: gøre hvad?
Avatar billede celal Nybegynder
21. maj 2002 - 14:19 #18
Hansk: hvad hedder feltet feltnavn.enabled på dansk, jeg har den danske version, og jeg kan ikke rigtigt finde det
Avatar billede hansk Nybegynder
21. maj 2002 - 14:19 #19
Du skal sætte feltnavn.enabled til true eller false i VBA.

Eks:
On click event på Afkrydsningsfelt1:

if Afkrydsningsfelt1 then
feltnavn.enabled = true
else
feltnavn.enabled = false
Avatar billede hansk Nybegynder
21. maj 2002 - 14:22 #20
Det ved jeg ikke, jeg har kun en engelsk version. Måske aktivt eller aktiveret eller noget lignende.
Avatar billede hansk Nybegynder
21. maj 2002 - 14:23 #21
Jeg tror faktisk at man godt kan bruge de engelske navne i den danske version. Nogen der ved det?
Avatar billede celal Nybegynder
21. maj 2002 - 14:26 #22
okay, det var den der hed aktiveret. Men hvad gøre jeg så over i afkrydsnings feltet? når jeg klikker på afkrydsningsfeltet, skal de to felter aktiveres
Avatar billede hansk Nybegynder
21. maj 2002 - 14:33 #23
på afkrydsningsfeltets onclick event skriver du:

if Afkrydsningsfelt = true then
feltnavn.enabled = true
else
feltnavn.enabled = false
end if

hvor feltnavn er det felt du vil aktivere/deaktivere.
Avatar billede celal Nybegynder
21. maj 2002 - 14:41 #24
okay, har fat i den, nu har jeg fået min form på plads
Avatar billede celal Nybegynder
21. maj 2002 - 14:49 #25
Terry: det du fortalte mig lød meget spændende, kan du guide mig lidt igennem det? lige nu har jeg lavet en form, hvor man kan vælge startdato og slut dato for en eller flere af de 8 afkrydsnings felter. så siger du noget med at jeg i forespørgslen under kriterie feltet kan højre klikke og vælge build og der efter form, loaded form?
Avatar billede terry Ekspert
21. maj 2002 - 14:59 #26
If the form is opened then once you have seleted "loaded forms" you should be able to see the name of the form you are using. Select this form. Now you should be able to see the names of all of the fields and other objects on the form. When you select various fields you can see that the names appear in the window at the top. This is what appears in the criteria field wen you select OK.

For example:

Forms![YourForm]![yourField]
Avatar billede celal Nybegynder
21. maj 2002 - 15:10 #27
jeg er ikke helt med, sorry at jeg er lidt langsomt, men det her har jeg ikke prøvet før.
Lige nu har jeg åbnet min form (FormA), skal den være i formularvis ning eller designvisning?

så åbner jeg en ny forespørgsel? og højre klikker på kriterie feltet?
Avatar billede celal Nybegynder
21. maj 2002 - 15:18 #28
Hvad menner du med "Loaded forms"?
Avatar billede celal Nybegynder
21. maj 2002 - 15:26 #29
Kan du forklare fra bunden af? som sagt, det enseste jeg har lavet nu, er at jeg har lavet en form, hvor man kan sætte nogle søge kriterier (Dato interval og type).

Du må meget gerne forklare detaljeret hvad jeg skal gøre for at få forbindelse mellem forespørgslen og formen...
Avatar billede celal Nybegynder
21. maj 2002 - 15:28 #30
nåå, du menner at jeg skal gå ind i "Udtrylsgenereatoren" og lave det?
Avatar billede terry Ekspert
21. maj 2002 - 15:29 #31
Ja!
Avatar billede celal Nybegynder
21. maj 2002 - 15:29 #32
okay, hvad så....så skal jeg skrive noget ud for de felter som man kan vælge (fra min form)?
Avatar billede celal Nybegynder
21. maj 2002 - 15:36 #33
så skal jeg vel også have en knap i min form som jeg skal klikke på efter jeg har valgt mine typerne og datoerne? hvad skal jeg gøre?
Avatar billede terry Ekspert
21. maj 2002 - 15:39 #34
n the criteria field for the first check box it would look (SOMETHING) like this

Forms![YourForm]![chk1]
then in criteria field for the next check box you have to go to the next row down which is = OR (eller) and enter
Forms![YourForm]![chk2]

do this for ALL 8 check boxes. In the end you  should have 8 rows in the criteria area.

Now in the date column it should look like this: NOTE This has to be in ALL 8 rows, one for each check box.

Between Forms![YourForm]![StartDato] AND Forms![YourForm]![SluteDato]

If you have problems with this then send the dB to terry@santhell.dk
please rename the file to .txt or Outlook will reject the dB
Avatar billede celal Nybegynder
21. maj 2002 - 15:55 #35
Hvordan kan det være at jeg skal have alle 8 felter med i hvert enkelt felt?
Jeg havde troet at jeg kun behøvede den som pasede til den samme felt
Avatar billede celal Nybegynder
21. maj 2002 - 16:01 #36
hold da helt op, det er et stort arbejde, Der vel okay at jeg kopire kriterie felterne`?
Avatar billede celal Nybegynder
21. maj 2002 - 16:15 #37
Okay, når jeg har gjort det, hvad så?

Så skal jeg  have lavet en Rapport med stamoplysninger ud fra kriterierne. Hvordan laver jeg det?
Avatar billede celal Nybegynder
21. maj 2002 - 16:17 #38
Terry: jeg bliver nød til at smutte nu, jeg vender tilbage imorgen tidligt, så håber jeg at vi kan fortsætte der. men du må gerne svare på spørgsmål nu :o)

Ses imorgen
Avatar billede terry Ekspert
21. maj 2002 - 18:13 #39
Well the reason why you need the 8 fields (date) is becuase it is needed in the SQL required.

SELECT * WHERE (chk1 = True AND Dato BETWEEN somedate and anotherdate)
OR (chk2 = True AND Dato BETWEEN somedate and anotherdate)
OR (chk3 = True AND Dato BETWEEN somedate and anotherdate)
.
.
.
Once you have made the query then the report will only show those with the correct criteria
Avatar billede celal Nybegynder
22. maj 2002 - 09:25 #40
Hej igen...Terry: så har jeg fået det til at virke.
Jeg har lige en sidste ting, jeg har en textbox med dato felt (dd-mm-åå), hvad skal jeg skrive i hvis der ikke skal være nogen interval (fra uendelig til uendelig), det noget som jeg gerne vil skrive i VBA.
Kort sagt: hvordan ser formen for udenlig dato ud?

Me.Brev1_start = "??"
Me.Brev1_slut = "??"
Avatar billede terry Ekspert
22. maj 2002 - 12:02 #41
You can try somethig like this. You may need to place this in the "field" field (not in the criteria field. It checks to see if the start date has been entered if not it ´takes ALL dates from 1900-01-01

IIf(IsNull([forms]![frmdates].[txtstartdate]),[tblDato].[Dato]>#01/01/1900#,[tblDato].[Dato] Between [forms]![frmdates].[txtstartdate] And [forms]![frmdates].[txtenddate])
Avatar billede celal Nybegynder
22. maj 2002 - 12:19 #42
jeg har fundet en anden løsning, jeg bruger bare startdato=#01/01/00# og slutdato=Now()
Avatar billede celal Nybegynder
22. maj 2002 - 12:27 #43
Jeg er løbet ind i et nyt problem, jeg har både min kunde stamoplysninger og de 8 afkrydsningsfelter+datp felter i den samme tabel: jeg skal have lavet det så jeg kan hente stamoplysninger (fra en commaseperaret fil) ind en tabel, dvs. at jeg ikke kan bruge min nu værenden løsning, med at have det hele i den samme tabel.

Mulig løsning: Jeg har en tabel med stamoplysninger, så laver jeg en query, hvor jeg indstaætter stamoplysningerne og tilføjer de 8 afkrydsnings felter + datoer.

Kan jeg det? eller kan du foreslå en bedre løsning?
Avatar billede terry Ekspert
22. maj 2002 - 12:39 #44
Not quite sure I understand the problem!
At the moment you have kunde data AND the eight check boxes in one table. You now sya that the kunde dat a gets imported from a CSV file!

You can still use the existing table but I would suggest that you import the CSV file into a TEMP table then make some queries which UPDATES the existing table form the data youhave just imported!
Avatar billede celal Nybegynder
22. maj 2002 - 13:06 #45
så bliver min tabel formet til det den er nu? altså efter jeg har lavet nogle queries som opdatere tabelen?
Avatar billede terry Ekspert
22. maj 2002 - 13:22 #46
The TEMP table is "formed" to ONLY contain the data from the CSV. Then you have the existing table which also has 8 * check boxes etc.

The queries ONLY update the data in the existing tabel they do NOT change the "layout" of the table!
Avatar billede celal Nybegynder
22. maj 2002 - 13:28 #47
Okay, så prøver jeg det....
Avatar billede celal Nybegynder
22. maj 2002 - 13:46 #48
Det er virker lidt håbløst.....Hvordan laver jeg opdateringen? hvis vi nu siger at jeg opretter en ny querie hvad så?
Avatar billede terry Ekspert
22. maj 2002 - 14:33 #49
celal>arent we getting away from your original question?

Somehow or otheryou have to have a relationship between the eight check boxes and the "kunde" information and as far as I can see this will have to be done in a table. Then IF you have to update your "kunde" information then ONE WAY is to have a TEMP table and then make queries to UPDATE your kunde information.
But as I said this IS NOT the original question. How you get your kunde data from a CSV file is another problem!
Avatar billede celal Nybegynder
22. maj 2002 - 14:36 #50
:o)....jo vi er ved at være rimelig langt væk fra mit spørgsmål, men tak for svaret alligevel....Jeg takker og giver dig alle pointene :o)
Avatar billede terry Ekspert
22. maj 2002 - 14:51 #51
selv tak :o)
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