Access-Paradies im Internet

Die PDF-Erstellungsschnittstelle für Ihre Anwendungen
 

  

::: Funktionen

 


Die Top Seite für Excel-VBA-Makros uvm.
Anwenderforum für Microsoft Office, Windows, VB
FAQ, kostenlose Tipps und Downloads zu Microsoft Office
Das große Visual-Basic Archiv
Access-Garhammer
Rainer's Archiv

::: Newsletter

 

Unser Newsletter informiert Sie topaktuell rund um alle Themen zu Microsoft Access, VBA usw.

 
  




::: ebay

 
1.000 Tage eBay Partnerprogramm - Volume II
 

28

 
  News -> Tipp - November 2004 - 1   

CD mit über 400 MByte Inhalt - für Access- und VB-Entwickler
über 256 Access-Beispiele
45 Add-Ins und ActiveX-Komponenten
16 VB-Projekt inkl. Source
mehr als 320 Tipps & Tricks für Access und VB

Plus 11 Entwicklerversionen
(9 davon mit Source!)
3 Vollversionen
Riesiger Datenpool



von Günther Kramer

Erweiterter Verzeichnisdialog


Diese Funktion stellt den er-
weiterten Verzeichnisauswahl-
dialog zum Auswählen von Verzeichnissen zur Verfügung.



Das Access-VBA Codebook

Neue Ausgabe!




Die VBA-Codesammlung, die bei keinem Entwickler
fehlen darf!

 
   
 
 
 

Funktion "NumerierungInTabelle()"

Die Funktion fügt in eine beliebige Tabelle eine Nummerierung ein oder nummeriert eine Bestehende neu.

Zum Aufruf der Funktion müssen der Tabellenname "TabNam" und der Feldname "FldNam", des zu numerierenden Feldes angegeben werden.

Ob es sich um ein neues oder bereits vorhandenes Feld handelt lässt sich über den Parameter "FldNeu" übergeben - FldNeu = -1 (neues Feld) und
FldNeu = 0 (bestehendes Feld). Zusätzlich kann über den optionalen Parameter "FldOrd" angegeben werden über welches Feld sortiert werden soll.

Nachfolgender Aufruf, aus dem Direktfenster heraus, würde in die Tabelle "Kunden" ein neues Feld "KndZaehler" anlegen und bei einer Sortierung nach Kundenname eine Nummerierung in die Tabelle einfügen:
? NumerierungInTabelle("Kunden","KndZaehler",-1, "KndNam")

Code:
      Public Function NumerierungInTabelle(TabNam As String, _
                                           FldNam As String, _
                                           FldNeu As Boolean, _
                                           Optional FldOrd As String)
 
      '---------------------------------------------------------------
      ' Die Funktion fügt in eine beliebige Tabelle eine Nummerierung
      ' ein oder nummeriert eine Bestehende neu.
      '
      ' Zum Aufruf der Funktion müssen der Tabellenname "TabNam" und
      ' der Feldname "FldNam", des zu numerierenden Feldes angegeben
      ' werden.
      '
      ' Ob es sich um ein neues oder bereits vorhandenes Feld handelt
      ' lässt sich über den Parameter "FldNeu" übergeben.
      '    FldNeu = -1 (neues Feld)
      '    FldNeu = 0  (bestehendes Feld)
      '
      ' Zusätzlich kann über den optionalen Parameter "FldOrd" ange-
      ' geben werden über welches Feld sortiert werden soll.
      '
      ' Nachfolgender Aufruf, aus dem Direktfenster heraus, würde in
      ' die Tabelle "Kunden" ein neues Feld "KndZaehler" anlegen und
      ' bei einer Sortierung nach Kundenname eine Nummerierung in die
      ' Tabelle einfügen:
      '
      '   ? NumerierungInTabelle("Kunden","KndZaehler",-1, "KndNam")
      '---------------------------------------------------------------
 
      On Error GoTo Fehler
 
      Dim DB As Database
      Dim RS As Recordset
      Dim FE As Field
      Dim ZE As Long
      Dim TD As TableDef
      Dim AN As Long
      Dim SQ As String
 
      ' Datenbank setzen
          Set DB = CurrentDb()
 
      ' SQLString für Recordset festlegen
          If FldOrd = "" Then
              SQ = TabNam
          Else
              SQ = "SELECT * FROM [" & TabNam & "] ORDER BY [" & FldOrd & "];"
          End If
 
      ' Feld in Tabelle einfügen wenn FldNeu=Wahr
          Set TD = DB.TableDefs(TabNam)
          If FldNeu = True Then
              Set FE = TD.CreateField(FldNam, dbLong)
              TD.Fields.Append FE
              Set RS = DB.OpenRecordset(SQ, dbOpenDynaset)
          Else
              Set RS = DB.OpenRecordset(SQ, dbOpenDynaset)
              Set FE = RS.Fields(FldNam)
          End If
 
      ' Anzahl der Datensätze feststellen
          RS.MoveLast
              AN = RS.RecordCount
          RS.MoveFirst
 
      ' RS durchlaufen und Zähler setzen
          For ZE = 1 To AN
              RS.Edit
                  RS.Fields(FldNam) = ZE
               RS.Update
               RS.MoveNext
          Next ZE
 
      ' Recordset und Datenbank schließen
          RS.Close
          DB.Close
 
      ' Endemeldung ausgeben
          MsgBox "Nummerierung über " & AN & " Zeilen angelegt.", _
                                 64, "http://www.access-home.de"
 
      ende:
          Exit Function
 
      Fehler:
          MsgBox Err.Description, 16, "http://www.access-home.de"
          Resume ende
 
      End Function

Viele weitere Tipps & Tricks aus der Praxis für die Praxis finden Sie auf unserer AP-Access-Tools Vol.1


 
 

 

Auf der AP-Access-Tools Vol.1 finden Sie weitere 320 Tipps & Tricks sowie 250 Access-Beispiel/Anwendungen mit offenen Quellcode!

Die Access-Tools-CD mit über 400 MByte Inhalt - für Access- und VB-Entwickler

  • 256 Access-Beispiele mit offenem Code
  • 45 Add-Ins und ActiveX-Komponenten (Freeware)
  • 16 VB-Projekt inkl. Source
  • 321 Tipps & Tricks für Access und VB
  • Plus 11 Entwicklerversionen (9 davon mit Source!)
  • Plus 3 Vollversionen und
  • Plus riesiger Datenpool

    Holen Sie sich jetzt Ihre AP-Access-Tools-CD zum Superpreis von nur EUR 24,95!

  •  
     

     
     
     
     

    Access-Paradies © 1996-2011 Microsys Kramer


    Microsoft, Access, Word, Excel, Outlook, Outlook Express, Visual Basic und Windows sind eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Weiterempfehlung  |   Linken Sie uns  |   Impressum  |   Newsletter  |   Onlineshop