Een nieuwe kolom in een Access-rapport maken

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 812719 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

In dit artikel wordt beschreven hoe u programmatisch maken een kolom in een Access-rapport. U kunt de kolom dynamisch toevoegen aan het rapport Methode 1 of methode 2 die worden beschreven in de 'meer informatie' sectie.

Meer informatie

OpmerkingDe voorbeeldcode in dit artikel wordt Microsoft Data Access Objecten. Deze code alleen goed uitvoeren als u verwijst naar de Microsoft DAO 3.6 Object Library. Klik hiertoe opVerwijzingenop deExtramenu in de Visual Basic Editor en zorg ervoor dat deMicrosoft DAO 3.6 Object Libraryhet selectievakje is ingeschakeld.

Methode 1 kolommen toevoegen aan het rapport via programmacode

Het volgende voorbeeld wordt beschreven hoe u programmatisch maken een Access-rapport. De code genereert een rapport dat is gebaseerd op een recordbron query. Het gegenereerde rapport bevat deVoornaamkolom en deAchternaamkolom van deWerknemerstabel van de voorbeelddatabase Noordenwind.mdb.
  1. Start Access.
  2. Op deHelpmenu, klik opVoorbeelddatabases, en klik vervolgens opVoorbeelddatabase Noordenwind. Sluiten deHoofdschakelbordformulier wanneer het wordt weergegeven.

    OpmerkingKlik in Access 2007Monsterin deCategorieëndeelvenster, klik opNoordenwind 2007, en klik vervolgens opDownloaden.
  3. Klik in het linkerdeelvenster opRapporten.

    OpmerkingIn Access 2007 kunt u deze stap overslaan.
  4. Dubbelklik in het rechterdeelvenster opRapport maken Ontwerpweergave.

    OpmerkingKlik in Access 2007Rapportontwerpin deRapportengroep op deMakentabblad.
  5. Op deBestandmenu, klik opOpslaan.

    OpmerkingKlik in Access 2007Microsoft Office-knop, en klik vervolgens opOpslaan.
  6. In deOpslaan alsin het dialoogvenster typeAccessColumnBuilderen klik vervolgens opOK.
  7. Sluit het rapport.
  8. Selecteer in het linkerdeelvensterFormulieren.

    OpmerkingIn Access 2007 kunt u deze stap overslaan.
  9. Dubbelklik in het rechterdeelvenster opIn formulier maken Ontwerpweergave.

    OpmerkingKlik in Access 2007Formulierontwerpin deFormulierengroep op deMakentabblad.
  10. Een opdrachtknop aan het formulier toevoegen.

    OpmerkingKlik in Access 2007Knopeen knop toevoegen aan het formulier in deBesturingselementengroep op deOntwerptabblad.
  11. Klik met de rechtermuisknop op de knop, klikt u opGebeurtenis opbouwen, klik opOpbouwfunctie voor programmacodein deOpbouwfunctie kiezenhet dialoogvenster en klik vervolgens opOK.
  12. Voeg de code die volgt op deOnClickgebeurtenis van de opdrachtknop:
    Dim txtNew As Access.TextBox
    Dim labNew As Access.Label
    Dim lngTop      As Long
    Dim lngLeft     As Long
    Dim lblCol    As  Long
    Dim rpt As Report
    Dim reportQuery As String
    Dim rs As DAO.Recordset
    Dim i As Integer
    Dim prevColwidth As long
    
    lngLeft = 0
    lngTop = 0
     
    ' Open the report to design.
    ' To make changes in the number of columns that appear at run time.
    
    DoCmd.OpenReport "AccessColumnBuilder", acViewDesign
    
    Set rpt = Reports![AccessColumnBuilder]
    
    ' Change the number of columns required as per your requirement.
    reportQuery = "SELECT FirstName, LastName FROM Employees"
    
    ' Open the recordset.
    Set rs = CodeDb().OpenRecordset(reportQuery)
    ' Assign the query as a record source to report control.
    rpt.RecordSource = reportQuery
    
    ' Set the value to zero so that the left margin is initialized.
    prevColwidth = 0
    lblCol = 0
    ' Print the page header for the report.
    For i = 0 To rs.Fields.Count - 1
    Set labNew = CreateReportControl(rpt.Name, acLabel, acPageHeader, _
          , rs.Fields(i).Name, lblcol, , , lngTop)
          labNew.SizeToFit
          lblCol = lblCol + 600 + labNew.Width
    Next
    
    ' Create the column depending on the number of fields selected in reportQuery.
    ' Assign the column value to new created column.
    For i = 0 To rs.Fields.Count - 1
          ' Create new text box control and size to fit data.
          Set txtNew = CreateReportControl(rpt.Name, acTextBox, _
             acDetail, , , lngLeft + 15 + prevColwidth, lngTop)
          txtNew.SizeToFit
          txtNew.ControlSource = rs(i).Name
          ' Modify the left margin depending on the number of columns
          ' and the size of each column.
          prevColwidth = prevColwidth + txtNew.width
    Next
    'To save the modification to the report,  uncomment the following line of code:
    	'DoCmd.Save
    ' View the generated report.
    DoCmd.OpenReport "AccessColumnBuilder", acViewPreview
    
    ' This opens the report in preview.
    
  13. Opslaan en uitvoeren van het formulier.
  14. Het rapport wilt bekijken, klikt u op de opdracht die u knop in stap 10 hebt toegevoegd.

    De records die worden weergegeven op de eerste pagina:

    First Name	Last Name

    Nancy		Davolio

    Margaret		Peacock

    ........	.......


    Het rapport bevat deVoornaamkolom en deAchternaamkolom van deWerknemerstabel. U kunt het rapport opslaan of maken het vereiste wijzigingen in de query en vervolgens het rapport uitvoeren.

Methode 2 kolommen toevoegen aan het rapport tegelijk uitvoeren door de eigenschap zichtbaar van een bestaande kolom

In dit voorbeeld ziet u hoe een nieuwe kolom in een rapport weergeven manipuleren van deZichtbaareigenschap van het besturingselement.

Het rapport bevat vier kolommen. DeZichtbaareigenschap van de eerste drie kolommen is ingesteldJa. DeZichtbaareigenschap van de vierde kolom is ingesteldgeen. Op een pagina-einde deZichtbaareigenschap van de vierde kolom is ingesteldJaWanneer de kolom weergegeven.
  1. Start Access.
  2. Op deHelpmenu, klik opVoorbeelddatabases, en klik vervolgens opVoorbeelddatabase Noordenwind. Sluiten deHoofdschakelbordformulier wanneer het wordt weergegeven.

    OpmerkingKlik in Access 2007Monsterin deCategorieëndeelvenster, klik opNoordenwind 2007, en klik vervolgens opDownloaden.
  3. Een rapport met de naam makenRapport1en is gebaseerd op deProductentabel, als volgt:
    1. In deDatabasevenster, klik opRapportenen klik vervolgens opNieuwe.

      OpmerkingKlik in Access 2007Rapportwizardin deRapportengroep op deMakentabblad.
    2. In deNieuw rapporthet dialoogvenster, klikt u opOntwerpweergave, selecteerProducten, en Klik opOK.
    3. De volgende tekstvakken toevoegen deDetailssectie van het rapport. De tekstvakken uitlijnen
    4. Plaats van de overeenkomstige labels in dePagina Koptekstsectie van het rapport. Lijn de labels.
      Report: Report1
         --------------------------
         Caption: TestReport
         ControlSource: Products
      
         Label:
            Name: ProductName_label
            
         Text Box:
            Name: ProductName
            ControlSource: ProductName
          
      
         Label:
            Name: UnitPrice_label
         
         Text Box:
            Name: UnitPrice
            ControlSource: UnitPrice
      
         
         Label:
            Name: UnitsInStock_label
         
         Text Box:
            Name: UnitsInStock
            ControlSource: UnitsInStock
         
      
         Label:
             Name: TotalPrice_label
             Visible: No
      
         Text Box:
            Name:  TotalPrice
            ControlSource:  =[UnitPrice] * [UnitsInStock]
            Visible: No
      
  4. Een tekstvak met de volgende eigenschappen toevoegen deDetailssectie. Direct boven het tekstvak plaatsen deProductnaambesturingselement.

    Dit besturingselement fungeert als een teller voor het aantal records in het rapport.
    Text Box:
       -----------------------
       Name: Counter
       ControlSource: =1
       Visible: No
       RunningSum: Over All
    
  5. Op deWerkset, klik opPagina-einde.

    OpmerkingKlik in Access 2007Toevoegen of verwijderen van pagina-eindein deBesturingselementengroep op deOntwerptabblad.
  6. Een paginabesturingselement-einde toevoegen aan de linkerbenedenhoek. van deDetailssectie. Plaats het pagina-eindebesturingselement rechtstreeks onder deProductnaambesturingselement. Stel deNaameigenschapPageBreak.
  7. In deDetailssectie, stelt deBij opmakeneigenschap op de volgende gebeurtenisprocedure:
        If Me![Counter] Mod 2 = 0 Then Me![PageBreak].Visible = True _
        Else Me![PageBreak].Visible = False
    
  8. Plaats de aanwijzer verminderen van de lege ruimte in het rapport tussen de onderkant van deDetailssectie en dePagina Voetteksten sleep vervolgens omhoog.
  9. In dePaginavoettekstsectie, stelt deOnPrinteigenschap op de volgende gebeurtenisprocedure:

    If Me![PageBreak].Visible = True Then Me![TotalPrice].Visible = True Me![TotalPrice_label].Visible = True Else Me![TotalPrice].Visible = False Me![TotalPrice_label].Visible = False End If
    WanneerPageBreakplaatsvindt, deTotalPricekolom weergegeven.
  10. Afdrukvoorbeeld. De records die worden weergegeven op de eerste pagina:
    Product Name	Unit Price	Unit in Stock

    Cahi		$18.00		39

    Chang		$19.00		17

    De eerste pagina van het rapport bevat drie kolommen.

    Records die volgen weergegeven op de tweede pagina:

    Product Name	Unit Price	Unit in Stock	Total Amount

    Aniseed Syrup 	$10.00		13    		130

    Chef A...    	$22.00 		53    		1166
    OpmerkingDe pagina-einde na de eerste pagina. Dus de tweede pagina van het rapport bevat vier kolommen.

Referenties

Klik op het volgende artikel voor meer informatie. getallen artikelnummers in de Microsoft Knowledge Base:
231806ACC2000: Paginakoptekst die reeksen van volledige breedte van meerdere kolommen Rapport
209006ACC2000: Hoe u het aantal Records per pagina afgedrukt
210336ACC2000: Voorbeeld van de functie voor de huidige pagina van een formulier bepalen
208979ACC2000: Het afdrukken van een groepsvoettekst op een bepaalde locatie
231851Access 2000: Microsoft Access 2000 voorbeeldrapporten beschikbaar in Downloadcentrum
Voor meer informatie over het programmatisch een Access-rapport maken, gaat u naar de volgende Microsoft Developer Network (MSDN) Website:
http://msdn2.Microsoft.com/en-us/library/aa188513 (office.10) .aspx

Eigenschappen

Artikel ID: 812719 - Laatste beoordeling: zaterdag 17 september 2011 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Trefwoorden: 
kbprogramming kbvba kbinfo kbhowto kbmt KB812719 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:812719

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com