VBA

Standard SQL-SELECT Abfrage

Standard SQL-SELECT Abfrage

Eine allgemeine Standard SQL-Select Abfrage die einfach nicht in mein Kopf will 🙂

 

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim intID as Integer
Dim strArtikel  as String

strSQL = "SELECT ID, Artikel FROM tblArtikel WHERE ID='" & intID & "'"

Set db = CurrentDb   
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges)

If Not rs.EOF Then rs.MoveFirst

Do While Not rs.EOF     
  strArtikel = rs!Artikel 
  rs.MoveNext   
Loop
rs.Close
Set rs = Nothing
Set db = Nothing

 

Excel: Hyperlinks Pfad ändern

Excel: Hyperlinks Pfad ändern

Bei uns wurden die Daten auf einem neuen Server kopiert. Leider sind die Hyperlinks im Excel UNC-Pfade und funktionieren nicht mehr. Mit VB kann man Sie ganz einfach ändern.

Sub Hyperlinks_aendern()
    Dim alterPfad As String
    Dim neuerPfad As String
    Dim myLink As Hyperlink

    ' Achtung: Gross/Kleinschrift beachten, ist für das Ersetzen wichtig
    alterPfad = "\\alterserver\Daten"
    neuerPfad = "\\neuerserver\Daten"

    ' durch alle Hyperlinks im Blatt laufen, Blattname muss angepasst werden
    For Each myLink In Sheets("Tabelle1").Hyperlinks
        ' und in der Adresse des Links den Teil alt gegen neu tauschen
        myLink.Address = Replace(myLink.Address, alterPfad, neuerPfad)

    Next

End Sub

Anzahl Datensätze auslesen (RecordSet.Count)

Anzahl Datensätze auslesen (RecordSet.Count)

Um die richtige Anzahl Datensätze von Abfragen zu bekommen kann folgende SQL Befehl benützt werden.

Dim strsql As String 
Dim rs As DAO.Recordset 
Dim db As DAO.DATABASE 
Dim anzahl As Long 

strsql = "SELECT * FROM tbl_Pruefkatalog WHERE Standard = True" 
Set db = CurrentDb 
Set rs = db.OpenRecordset(strsql, dbOpenDynaset) 
rs.MoveLast 
anzahl = rs.RecordCount 
rs.Close: Set rs = Nothing 
db.Close: Set db = Nothing