Avatar billede mrdj Nybegynder
26. september 2004 - 00:38 Der er 9 kommentarer og
1 løsning

Grå linie i rapport

Hejsa!

Jeg har en rapport med diverse data udtrukken fra en forespørgsel, og i den forbindelse er der så en linie til hver data. Men i rapporten vil jeg gerne have den viser hver anden linie med grå baggrund f.eks, dvs 1 linie uden baggrund og een med og så fremdeles. Hvordan løses det problem ?
Avatar billede sjap Praktikant
26. september 2004 - 10:10 #1
Microsoft har lavet nogen eksempeldatabaser som du kan finde på denne side:

http://office.microsoft.com/da-dk/assistance/HA011201381033.aspx?Product=acc

Cirka midt på siden er der et link til en "Sample report database", der bl.a. meget andet indeholder et eksempel på hvordan man "Shade every other detail line in a report" - som skulle være det, du efterlyser.
Avatar billede sjap Praktikant
26. september 2004 - 10:34 #2
Der findes også et par versioner her (som muligvis er de samme som ovenfor, men de er beskrevet med lidt andre ord, og det kan jo nogen gange være nyttigt).

http://www.access-programmers.co.uk/forums/showthread.php?t=62697
Avatar billede hugopedersen Nybegynder
27. september 2004 - 11:02 #3
Jeg plejer at gøre det at jeg først erklærer en global variabel bolColor af typen Boolean og så laver jeg nedenstående kode på rapporten. Så får jeg en grøn baggrund på hveranden record (som de gode gamle AS/400 dage :-)  )

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
  If bolColor Then
    Me.Line (0, 0)-(Me.Width, Me.Section(0).Height), 14024661, BF
  End If

  bolColor = Not bolColor

End Sub
Avatar billede mrdj Nybegynder
27. september 2004 - 18:32 #4
Att SJAP: Du hjalp mig også den anden dag med at få fjernet en 0-værdi fra en rapport og det er nu i denne rapport jeg skal bruge denne funktion. Har også fået lagt det med den hveranden linie der er grå ind og det er også okey, nu er problemet så bare at værdien 0 viser sig på den grå baggrund. Og naturligvis ikke på den hvide baggrund. Hvordan løser jeg det problem ?
Avatar billede sjap Praktikant
27. september 2004 - 19:06 #5
Ha! Ja det er jo klart. Øjeblik.
Avatar billede sjap Praktikant
27. september 2004 - 19:11 #6
Hvis du har gjort som i eksemplet, så har du nu en sætning hvor det står

If (Me![LineNum] Mod 2) = 0 Then

Hvis det er korrekt, så gør du følgende.

Umiddelbart efter If-sætningen skriver du
    BaggrundsFarve = 65535

(tallet skal ændres hvis du har vlagt en anden baggrundsfarve end gul).

Først nå denne if-sætning er afsluttet kører du så de andre if-sætninger:

If Me!FeltNavn1 = 0 Then
    Me!FeltNavn1.ForeColor = ForgrundsFarve
Else
    Me!FeltNavn1.ForeColor = BaggrundsFarve
End If


Håber det er til at forstå, ellers må du råbe højt. Når du så har råbt, kan du jo eventuelt også skrive det her :0)
Avatar billede mrdj Nybegynder
27. september 2004 - 19:16 #7
Hejsa! Jeg har nu råbt rigtigt højt, men fik desværre ikke meget ud af det, så du får lige koden her i håber om at du kan fixe sagen for mig :-)
----------

Private Sub Detaljesektion_Format(Cancel As Integer, FormatCount As Integer)

Const Grey = 16777215
Const White = 12632256

'BackStyle Property of Control(s) in detail section set to Transparent

Me.Detaljesektion.BackColor = IIf(Me.Detaljesektion.BackColor = White, Grey, White)

End Sub

Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
Dim ForgrundsFarve, FF2, BaggrundsFarve As Long

ForgrundsFarve = 16777215
BaggrundsFarve = 0

If Me![Webhosting] = 0 Then
    Me![Webhosting].ForeColor = ForgrundsFarve
Else
    Me![Webhosting].ForeColor = BaggrundsFarve
End If

og så fremdeles med de andre felter
Avatar billede sjap Praktikant
27. september 2004 - 19:26 #8
Private Sub Detaljesektion_Format(Cancel As Integer, FormatCount As Integer)

Const Grey = 16777215
Const White = 12632256

'BackStyle Property of Control(s) in detail section set to Transparent

Me.Detaljesektion.BackColor = IIf(Me.Detaljesektion.BackColor = White, Grey, White)

End Sub

Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
Dim ForgrundsFarve, FF2, BaggrundsFarve As Long

ForgrundsFarve = 16777215
BaggrundsFarve = Me.Detaljesektion.BackColor

If Me![Webhosting] = 0 Then
    Me![Webhosting].ForeColor = ForgrundsFarve
Else
    Me![Webhosting].ForeColor = BaggrundsFarve
End If

og så fremdeles med de andre felter
Avatar billede sjap Praktikant
27. september 2004 - 19:28 #9
I stedet for mit lille nummer, så fi jeg den ide at den jo blot skal bruge den aktuelle baggrundsfarve for sektionen. Håber det så virker efter hensigten.
Avatar billede sjap Praktikant
27. september 2004 - 21:41 #10
:0)
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