24. juli 2002 - 22:36Der er
8 kommentarer og 2 løsninger
Antal af terminer bestemmer hvor krydset skal stå...
Jeg har en tabel med nogle biler, disse har hver, 1 til 4 terminer. (4 felter) Jeg udskriver for hver bil en rapport, og i denne rapport skal jeg have et kryds. Men der er forskelligt hvor krydset skal stå, det bestemmes efter antallet af terminer. Hvis der kun står noget i 1 termin, skal krydset stå i et felt (1/1), er der noget i 1 & 2 termin skal krydset stå i et andet felt (1/2) og er der noget i alle terminer skal der være kryds i det tredje felt (1/4).
Træk et ubundet tekstfelt fra værktøjskassen ind i rapportens detaljesektion. i den følgende kode, hasr jeg givet feltet formatet Ja/Nej (True eller False). Indsæt koden i detaljesektionens hændelseevent VedUdskrivning (Print).
Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer) If Not IsNull(Me.termin1) Then Me.Tekst14.Visible = True Me.Tekst14 = True Else Me.Tekst14.Visible = False Me.Tekst14 = False End Sub
Når der er flere betingelser der skal opfyldes, sammensætter du dem med operatoren And således:
you make a query adding all of the fields you already have in the report and then add three extra fields using the iif function to decide what each field is to contain. Something like this. Then you make a report containing ALL these fields. You may need to alter the X? fields to be a check box once the report is made.
In this example I am assuming that a field is NULL if nothing has been entered.
SELECT tblBiler.*, IIf(Not IsNull([fld1]) And IsNull([fld2]),True,False) AS X1, IIf(Not IsNull([fld2]) And IsNull([fld3]),True,False) AS X2, IIf(Not IsNull([fld3]),True,False) AS X3 FROM tblBiler;
kunne ikke få mugs svar til at virke, mens Terry's virker.
15 point mere: Jeg har også et "adresse" felt og et "landsdel / stednavn" felt, og jeg vil gerne have at der i rapporten fx. står: Langgade 62, Kaas hvor langgade 62 er adresse og kaas er stednavn Jeg har lavet et tekstfelt og skrevet dette i kontrolelementkilde: =[adresse] & ", " & [landsdel / stednavn] men nogle steder er landsdel / stednavn blank, og der skriver den så fx. Langgade 62, Men den skulle jo helt ikke skrive kommaet. Hvordan løses det?
Ved at indsætte et komma i feltets postkilde, har du selv bedt den om altid at skrive et komma, så du er nødt til at fjerne postkilden, og i stedet programmere dig ud af det.I stedet kan du indsætte flg. kode i Detaljesektionens hændelse VedUdskrivning:
If IsNull(Me.Landsdel) Then Tekst1 = Me.adresse Else Tekst1 = =[adresse] & ", " & [landsdel] End If
Hvor Tekst1 er en ubundet tekstboks. Det betyder desuden, at du skal omdøbe feltet landsdel / stednavn, så der ikke er / i navnet.
Ps.: Hvilken fejl fik du ved min foreslåede kode? Den var afprøvet og virkede perfekt.
ok, har fundet fejlen ved den første. Delvis min, jeg havde sat koden ind det forkerte sted. Men det krævede også at feltet termin1 er på rapporten, hvilket det ikke skal.
Det samme gælder for adresse og landsdel feltet. For at det skal virke, skal felterne være på rapporten. Ken det undgåes, da de ellers vil være der 2 gange?
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.