Avatar billede tblaster Nybegynder
22. juli 2002 - 18:54 Der er 52 kommentarer og
1 løsning

Rapport

Hejsa

Er det muligt at få en rapport i access til at kun vise et felt hvis der er angivet noget i feltet i tabellen? Jeg tænker lidt på ligesom man gør med asp:

<% if Session("fornavn1") <> "" then %>
  <% response.write Session("fornavn1") %>&nbsp;<% response.write Session("efternavn1") %><br>
<% end if %>

Det jeg skal bruge det til er at jeg har en tabel der hedder forespørgsler og den har følgende kolonner:
Information
Processor
Bundkort
Ram
Harddisk
Grafikkort
Printer
Scanner

I min rapport skal den altså kun skrive:
Printer: Epson 890
Hvis der er en printer i feltet ... ellers skal den helt undlade at skrive Printer:

Jeg håber at det kan forstås og at der er hjæpe at hente!
Avatar billede mugs Novice
22. juli 2002 - 19:02 #1
Indsæt flg. kode i rapportens detaljesektion ved Print Event

Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
If IsNull(Me.printer) Then
Me.printer.Visible = False
Else:
Me.printer.Visible = True
End If
End Sub
Avatar billede terry Ekspert
22. juli 2002 - 19:05 #2
Hi mugs>should you be in bed ? :o)
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:16 #3
Det er vel den der hedder: VedUdskrivning i den danske eller hva?

Jeg har prøvet at smide den i VedUdskrivning men så kan jeg ikke åbne rapporten ... den melder følgende:

... kan ikke finde makroen "Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer) If IsNull(Me".
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:17 #4
Kan det heller ikke gøres på en nemmer måde ... for jeg skal jo have det lavet ved samtlige kolonner ...
Avatar billede mugs Novice
22. juli 2002 - 19:19 #5
Hi again terry > Not yet. I'm too tired to think on theese If Then .... I got this solution from my "lager" of VBA-functions (a litttle private help-file). Soo I had just made a copy and pasted it.
Avatar billede terry Ekspert
22. juli 2002 - 19:25 #6
tblaster>It will only take about five minutes to copy/paste and it is about as easy as you will get it
Avatar billede mugs Novice
22. juli 2002 - 19:26 #7
tblaster > hos mig hedder den Print. Jeg tror ikke det kan laves nemmere, idet du jo skal måle på forskellige feltnavne.

Hvis du skulle måle på indholdet af et enkelt felt, kunne du bruge en Select Case struktur:

Select Case "feltnavn"
Case Is = "printer"
feltnavn.Visible = False
Case Is = "cpu2
feltnavn.Visible = True
End Select

Men ikke i dette tilfælde, hvor du måler på forskellige felter.
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:28 #8
Hvor finder du så denne Print Event?
Avatar billede mugs Novice
22. juli 2002 - 19:32 #9
I rapportens Detaljesektion.
Klik på den fede bjælke "Detaljesektion", og derefter på tryllestaven.
Jeg har et eksempel. Blot læg din e-mail.
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:36 #10
Thomas@just2funny.dk

Der sker intet hvis jeg trykker på tryllestaven :-(
Avatar billede mugs Novice
22. juli 2002 - 19:44 #11
sendt
Avatar billede mugs Novice
22. juli 2002 - 19:49 #12
tblaster > Jeg tror iøvrigt, at du trykker på den forkerte tryllestav.
Du skal bruge tryllestaven på din øverste vandrette menulinie.
Tryllestaven i din værktøjskasse slår dine kontrolelementguider fra og til, så der vil du ikke se nogen forskel, før du forsøger at bruge guiderne.
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:50 #13
Det har jeg fundet ... så får jeg en menu hvor jeg skal vælge generator og der har jeg prøvet den første men det kan jeg stadig ikke få til at virke!
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:51 #14
Mugs ... det fant jeg også ud af ... hehe
Avatar billede tblaster Nybegynder
22. juli 2002 - 19:53 #15
Hvis jeg sender databasen til dig gider du så fikse det for mig? Jeg har access 2002
Avatar billede mugs Novice
22. juli 2002 - 19:53 #16
Brug kodegenerator.
Avatar billede mugs Novice
22. juli 2002 - 19:54 #17
Jeg bruger 97 - kan den konverteres så værsgo'

mugs@mail.dk
Avatar billede mugs Novice
22. juli 2002 - 20:47 #18
Databasen er modtaget, rettet og returneret.
Fejlen var, at brugeren havde slettet de oprindelige etiketter, laver nogle nye. De nye etiketter "hænger" ikke sammen med de etiketter, der følger med ned i rapporten, når felterne trækkes ned fra feltlisten.

Jeg har slettet feltet "Printer", og trukket det ned igen fra feltlisten, og indsat min koden fra svaret Kl 19:02. Så fungerer det.
Avatar billede tblaster Nybegynder
22. juli 2002 - 21:34 #19
Når jeg prøver at køre din rettet database så får jeg følgende:
COmpile error:

Method or data member not found
Avatar billede mugs Novice
22. juli 2002 - 21:48 #20
Jeg har åbnet min rettede db, og der er ingen fejl. Hvor kommer fejlen?. Du får sikkert tilbud om at debugge. Prøv det og se hvor fejlen ligger.

Alternativt kan du afslutte alt, evt. lukke db og åbne den igen. Derefter åbner du rapporten i designvisning. Åbn kodevinduet > Fejlfinding > Kompiler alle moduler. db vil herefter vise hvor fejlden ligger.
Avatar billede mugs Novice
22. juli 2002 - 21:57 #21
En anden mulighed er, at du igen åbner dit kodevindue.
Vælg Funktioner > Referencer > Hvis der er nogle referencer ud for hvilke der står "MISSING", skal du "unclicke" dem.

I engelske versioner er det: Tools > References

Herefter skal det fungere.
Avatar billede tblaster Nybegynder
22. juli 2002 - 21:58 #22
Den har markeret følgende i starten: .Visible = ... det er i linje 3
Avatar billede tblaster Nybegynder
22. juli 2002 - 22:03 #23
Jeg har kopiert noget af det du har lavet og smidt det ind i min db ...
Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
If IsNull(Me.Printer_label) Then
Me.Printer_label.Visible = False
Else:
Me.Printer_label.Visible = True
End If
End Sub

Nu får jeg ingen fejl ... men når der ikke står noget i Printer så viser den stadig Printer_label ... altså

Printer:
Avatar billede mugs Novice
22. juli 2002 - 22:14 #24
Der er ingen tvivl om, at min kode fungerer.
Slet feltet Printer og etiketten Printer_label. Åbn feltlisten og træk feltet Printer ned i din rapport.
Fejlen ligger ca. 20 cm. bagved tastaturet. :o)
Avatar billede tblaster Nybegynder
22. juli 2002 - 22:17 #25
hvor er du bare sjov mugs :-D
Avatar billede tblaster Nybegynder
22. juli 2002 - 22:18 #26
Og til fin oplysning så er jeg faktisk 50 cm fra tastaturet ... er faldet helt ned i stolen da jeg er ved at være træt!
Avatar billede tblaster Nybegynder
22. juli 2002 - 22:19 #27
fin = din :-D
Avatar billede mugs Novice
22. juli 2002 - 22:23 #28
Det var ikke meningen at være sjov.
Undskyld hvis jeg lyder lidt utålmodig - jeg har faktisk været på arbejde fra SØN morgen til ca 17:00 i eftermiddag, så der er ved at være udsolgt. Imorgen skal jeg på den igen, og er først hjemme ONS eftermiddag. Så det er lidt af en tørn.

Jeg er sikker på, at min kode virker. Lad skidtet ligge til imorgen, og se på det med friske øjne. ONS eftermiddag er jeg her igen, og har du ikke fået det til at fungere, så mailer jeg mit tlfnr., og så SKAL DET VIRKE!!

godnat!
Avatar billede tblaster Nybegynder
22. juli 2002 - 22:25 #29
Jeg får stadig den latterlige fejl ... du kan se her hvordan det ser ud:

http://www.dyrlund.dk/Fejl.jpg
Avatar billede mugs Novice
22. juli 2002 - 22:41 #30
Ja jer ser det - men kan ikke se nogen fejl i koden.
Jeg har igen åbnet din tilsendte db, indsat min kode og det fungerer perfekt.
det eneste råd jeg har her på falderebet er, at du skal kontrollere dine feltnavne / etiketnavne. de skal hedde Printer.
i din først tilsendte db, havde du slettet de oprindelige etiketter, og lasvet nogle nye. derfor hænger datafeltet ikke længere sammen med etiketterne, og så går det galt.
Har du prøvet at slette feltet og etiketten helt, og derefter trukket datafeltet ned i rapporten igen. Du skal ikke gøre andet end trække feltet ned, så følger etiketten automatisk med.
Avatar billede tblaster Nybegynder
23. juli 2002 - 16:19 #31
Det har jeg prøvet ... det giver det samme resultat ...
Avatar billede mugs Novice
24. juli 2002 - 12:39 #32
tblaster > Hej igen, undskyld jeg har været fraværende siden MAn aften. Hvordan går det?
Avatar billede tblaster Nybegynder
28. juli 2002 - 10:54 #33
Det gør ikke noget ... har sku ikke haft tid her ... men er tilbage igen også her ... kan du hjælpe mig vidre?
Avatar billede mugs Novice
28. juli 2002 - 17:43 #34
Ja men får du en fejlmelding? Eller virker det bare ikke.
Den db jeg modtog fra dig, havde en fejl idet du havde udskiftet den etiket, der hører med til datafeltet med en anden. Denne nye etiket havde db automatisk døbt f.eks Tekst14. Derfor nytter det ikke noget, at du programmerer Me.Printer.Visible = False.

Prøv at sende mig db en gang til, lad os starte forfra med friske øjne. Det eneste jeg er sikker på er:

Det SKAL virke som jeg har beskrevet tidligere.
Avatar billede mugs Novice
03. august 2002 - 00:04 #35
Hvordan går det - Har du fået det til at fungere?
Avatar billede tblaster Nybegynder
03. august 2002 - 18:44 #36
Næh og jeg har sku ikke så meget lyst lige for tiden til at kigge på det :-D
Avatar billede tblaster Nybegynder
04. august 2002 - 18:35 #37
Ok mugs ... skal vi kigge på det ... jeg kan stadig ikke få det til at virke ...
Avatar billede mugs Novice
04. august 2002 - 18:45 #38
Yes - Må jeg se din kode, og hvilken fejl får du?
Avatar billede mugs Novice
04. august 2002 - 18:49 #39
Jeg har fundet min testdb frem (db5), og den fungerer perfekt i Access97. detr bør kun være en simpel kode, og det er får dårligt, at vi enddnu ikke har fåset det til at fungere. Det er fuldstændig ligegyldigt om det er 97, 200o eller xp. DET SKAL FUNGERE SOM JEG HAR BESKREVET TIDLIGERE.
Avatar billede tblaster Nybegynder
04. august 2002 - 19:18 #40
Dette er min kode på raporten: Forespørgsler_Print

Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
If IsNull(Me.Printer) Then
Me.Printer.Visible = False
Else:
Me.Printer.Visible = True
End If
End Sub

Hvis jeg køre rapporten så melder den følgende fejl:

Compile error:

Method or data member not found

Og den har markeret følgende med blåt (sammentidig med beskeden vises)

.Visible = (Det er den første den har markerte der hvor den er lig False.

Når jeg trykker på ok så markere den første linje med gult.
Avatar billede mugs Novice
04. august 2002 - 19:25 #41
Jeg vil igen bede dig kontrollere, at feltet / etiketten virkelig hedder "Printer":

Åbn rapporten i Designvisning, tryk på feltet og vælg egenskaber. derefter fanen "Andre". Her skal du se navnet på feltet.
Det samme med etiketten. husk at der er skrevet i feltet / etiketten ikke behøver at være navnet. I den testdb du sendte mig, var fejlen netop, at der ikke var nogen etiket med navnet "Printer". Dert hed så vidt jeg husker "Tekst14".
Avatar billede tblaster Nybegynder
04. august 2002 - 19:34 #42
Min tekst box ... der hvor der altid står printer hedder: Etikete43 ... den der henter oplysningern fra tabellen hedder Printer ...
Avatar billede mugs Novice
04. august 2002 - 19:39 #43
Det er fejlen. Når du trækker feltet ned i rapporten fra feltlisten, vil etiket og datafelt "høre sammen". Men på et tidspunkt har du slettet etiketten og lavet en anden, som databasen (eller dig selv)så har døbt "Etikette43". Omdøg etiketten til "Printer", eller bedre træk feltet ned fra feltlisten, så kan du se forsklellen.

Datafeltet fungererer, på den måde, at egenskaben Visible = False, hvorimod der ikke er nogen tilhørende etiket ved navn "Printer".
Avatar billede mugs Novice
04. august 2002 - 20:59 #44
Hvad så?
Avatar billede tblaster Nybegynder
04. august 2002 - 22:53 #45
Nu har jeg lige prøvet det du skrev igen ... det giver samme problem ... den navngiver den stadig som følgende:
Navn: Etiket47
Titeltekst: Printer:

Den anden navengiver den som følgende:
Navn: Printer
Kontrolelementkilde: Printer

Og jeg kan jo ikke give dem bægge det samme navn så jeg kan ikke helt se hvad det er du vil have mig til at gøre!
Avatar billede mugs Novice
04. august 2002 - 22:57 #46
Slet feltet og tilhørende etiket. træk derefter feltet Printer ned fra feltlisten. Så hører de sammen, og etiketten følger datafeltet, der er usynlig, når datafeltet's egenskab er Visible = false
Avatar billede mugs Novice
04. august 2002 - 22:59 #47
Hvordan har du afprøvet den db jeg sendte dig? Den fungerer perfekt i Access97, men det betyder ikke noget, detr skal også fungere i 2000, xp og hvad du nu har at gøre godt med.
Avatar billede tblaster Nybegynder
04. august 2002 - 23:01 #48
jeg har access 2002 (xp) ... mugs har du icq eller noget så vi kan chatte for at fikse det? Jeg tror at jeg lige skal prøve at sende dig denne database igen og så kan du se om der er noget galt ... så kan du jo skrive hvad der er galt og hvad der skal rettes!
Avatar billede mugs Novice
04. august 2002 - 23:02 #49
ingen icq men 24818645
Avatar billede mugs Novice
18. august 2002 - 09:54 #50
tblaster > er du kommet nærmere en løsning?
Avatar billede tblaster Nybegynder
18. august 2002 - 10:06 #51
har ikke haft tid til at arbejde med det
Avatar billede mugs Novice
18. august 2002 - 10:08 #52
OK - Hvem gider også sidde ved computeren i dette vejr :o)
Avatar billede tblaster Nybegynder
12. februar 2003 - 16:26 #53
Vi fik aldrig løst mit problem men du får pointne for din hjælp!
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