---
title: "Print-funktion i Access-databas?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/kontorsprogram/23343-print-funktion-i-access-databas"
topic: "Kontorsprogram"
topic_url: "https://www.webforum.nu/amne/kontorsprogram"
author: "AndreasC"
published: "2001-08-24T19:21:00.000Z"
updated: "2001-08-28T20:02:00.000Z"
replies: 14
views: 309
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/kontorsprogram/23343-print-funktion-i-access-databas"
---

# Print-funktion i Access-databas?

## #1 — AndreasC, 2001-08-24T19:21Z

Jag har en printfunktion i en Access-databas. Två knappar, trycker man på den ena så ska endast den aktuella posten skrivas ut och trycker man på den andra så ska alla poster skrivas ut.
Problemet är bara att alla poster skrivs ut vilken knapp man än trycker på. I hjälpen i Access står det att man kan använda sig utav OpenReport för att tala om vilka poster som ska skrivas ut.

Så här ser koden ut för tillfället och den skriver alltså ut samtliga poster. Hur ska det se ut ifall jag istället vill at endast den aktuella posten ska skrivas ut?

Private Sub Image99_Click()
On Error GoTo Err_Image99_Click

    Dim stDocName As String

    stDocName = "Faktablad"
    DoCmd.OpenReport stDocName, acNormal

Exit_Image99_Click:
    Exit Sub

Err_Image99_Click:
    MsgBox Err.Description
    Resume Exit_Image99_Click
    
End Sub

Permalänk: https://www.webforum.nu/p/23343

## #2 — SB, 2001-08-25T15:59Z

Skapa en fråga som returnerar önskad post som sedan rapporten Faktablad baseras på. Skriv in ett villkor för ID-fältet enligt Formulär!\[Formulärnamn\]!\[Kontrollnamn\] i din fråga.

Permalänk: https://www.webforum.nu/p/362399

## #3 — AndreasC, 2001-08-25T16:14Z

Kan du specifera det där? När det gäller databaser och programmering så har jag en del att lära. Jav vet ju hur man gör en fråga, men jag förstod ändå inte vad du menade riktigt. Kan du kanske specifera lite mer i detalj?

Permalänk: https://www.webforum.nu/p/362400

## #4 — SB, 2001-08-25T19:33Z

Hej igen!

Skapa först en fråga där du anger alla de fält som skall vara med i din rapport (Faktablad). Se till att ett av fälten har unika värden, förslagsvis ett räknarefält med namnet ID. I detta ID-fält anger du ett villkor som refererar till motsvarande ID-kontroll (t ex en osynlig textruta)i ditt formulär (om du nu har skapat ett sådant som utskriften skall styras ifrån...). Om du i din fråga skriver in en referens som villkor till denna textruta enligt exemplet i mitt tidigare inlägg så blir rapporten begränsad till denna enda post.
Jag brukar själv alltid tillämpa denna metod.

Mvh
/SB

Permalänk: https://www.webforum.nu/p/362401

## #5 — AndreasC, 2001-08-27T10:33Z

Ok, då förstår jag. Men kan man inte göra detta med en Rapport lika gärna? Jag menar, kan man inte länka ihop rapporten med formuläret på det sättet du beskrev?

MVH Andreas

Permalänk: https://www.webforum.nu/p/362402

## #6 — AndreasC, 2001-08-27T10:34Z

Förlåt, jag kom just på varför detta inte skulle gå. Då kan man ju inte skriva ut alla rapporterna vid behov.

Jag ska testa det du sa.

Permalänk: https://www.webforum.nu/p/362403

## #7 — AndreasC, 2001-08-27T11:30Z

Jag har testat det du sa men förstår inte riktigt hur jag ska få det att fungera. Jag kom att tänka på en annan sak. Jag har en knapp för att förhandsgranska en rapport, och när man trycker på den så förhandsgranskas bara den aktuella posten. Så här ser koden ut för detta:

Private Sub Filgranskning_Click()
On Error GoTo Err_Filgranskning_Click
    If IsNull(Me!\[ID\]) Then
        MsgBox "Skriv adressinfo innan du förhandsgranskar faktablad."
    Else
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        DoCmd.OpenReport "Faktablad", acPreview, , "\[ID\] = " & \[ID\]
    End If

Exit_Filgranskning_Click:
    Exit Sub

Err_Filgranskning_Click:
    MsgBox Err.Description
    Resume Exit_Filgranskning_Click
End Sub

Eftersom ID finns med i koden och detta fält även finns med i tabellen där uppgifterna hämtas så visas ju endast den aktuella posten. Jag kom nu att tänka på ifall man kan konvertera denna kod till att skriva ut istället för att förhandsgranska. Då skulle man ju kunna skriva ut rapporten med information för bara den aktuella posten. Kan man göra så häroch hur ska koden se ut?

Permalänk: https://www.webforum.nu/p/362404

## #8 — SB, 2001-08-27T14:19Z

Utan att själv ha prövat...byt ut 'acPreview' mot 'acNormal'.

Permalänk: https://www.webforum.nu/p/362405

## #9 — AndreasC, 2001-08-27T17:09Z

Det funkade finfint. Tack för det.

Permalänk: https://www.webforum.nu/p/362406

## #10 — AndreasC, 2001-08-27T17:50Z

Kanske du kan hjälpa mig med en sak till. Hur kan man göra mouseovers i en Access-databas. Du kan kolla in detta i mitt tidigare inlägg, hjälp med on_click event. Jag skrev det i detta forumet men bad sedan att få det flyttat till Visual Basic forumet, så det ligger där numera.

Permalänk: https://www.webforum.nu/p/362407

## #11 — SB, 2001-08-27T19:37Z

Det enklaste torde vara att använda två lika stora knappar (med olika bilder på)och använda visible-egenskapen ihop med händelserna MouseDown och MouseUp (eller på svenska Vid musknapp ned resp. Vid musknapp upp)

T ex:
Private Sub cmdChange_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdChange1.Visible=False
cmdChange2.Visible=True
End Sub

och

Private Sub cmdChange_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdChange1.Visible=True
cmdChange2.Visible=False

End Sub

/SB

Permalänk: https://www.webforum.nu/p/362408

## #12 — AndreasC, 2001-08-27T22:02Z

Ok. Vad jag börjar med är alltså att infoga en knapp eller en bild och sedan skriver koden du gav mig för den. Men hur får jag sedan in den andra bilden. Vill du förklara lite mer om bilderna, hur jag ska få in dem och vilken kod som ska gå för vilken knapp? Detta är säkert hur lätt som helst men just nu är jag alldeles för sliten för att fatta det.

Permalänk: https://www.webforum.nu/p/362409

## #13 — SB, 2001-08-28T14:02Z

Du skapar två exakt lika stora knappar med två olika bilder på som du sedan infogar på exakt samma ställe. 

/SB

Permalänk: https://www.webforum.nu/p/362410

## #14 — AndreasC, 2001-08-28T18:44Z

Namnet på dessa bilder ska alltså vara cmdChange1 resp. cmdChange2?

Permalänk: https://www.webforum.nu/p/362411

## #15 — AndreasC, 2001-08-28T20:02Z

Det löste sig. Tack för hjälpen :)

Permalänk: https://www.webforum.nu/p/362412

---

Tråden på webben: https://www.webforum.nu/amne/kontorsprogram/23343-print-funktion-i-access-databas
