U bent hier: S for Software » Weblog

S for Software Blog

rss

S for Software is specialist in op het gebied van SnelStart. We ontwikkelen standaard producten ter aanvulling op SnelStart, en maatwerk voor klanten met specifieke wensen. Op dit blog plaatsen we artikelen om onze kennis te delen en voorbeelden van door ons gerealiseerde maatwerkoplossingen.


SnelStart 12: LocalDb vanuit VBA (Excel/Access)
SnelStart 12 neemt afscheid van MDB en vervangt deze door LocalDb (Lokaal). Het hoe en waarom daarvan is beschreven in het artikel 'SnelStart 12: MDB wordt LocalDb'. In dit artikel wordt de koppeling vanuit VBA (Excel en Access) naar dit nieuwe databasetype voor SnelStart behandeld.

Als eerste is het van belang om te zorgen voor een Verwijzing (of Reference, menu Extra - Verwijzingen) naar een recente versie van Microsoft ActiveX Data Objects. Voor deze test is een verwijzing gemaakt naar versie 6.1.

Verder is het vooral een codevoorbeeld. In onderstaande code worden de gegevens van alle klanten uit SnelStart gekopieerd naar Blad1 in Excel:

Public Sub SnelStart_LocalDb_VBA()
  Dim cn As New ADODB.Connection
  Dim rst As New ADODB.Recordset
  Dim i As Integer
  
  ' Connectie openen
  cn.Open "Provider=SQLNCLI11.1;" & _
          "Data Source=(localdb)\v11.0;" & _
          "Integrated Security=SSPI;" & _
          "AttachDbFileName=d:\snelstart\administraties\v12\s for software demo.mdf;"
  
  ' Recordset openen
  rst.Open "SELECT * FROM qryKlant", cn, adOpenForwardOnly, adLockReadOnly
  
  ' Gegevens overnemen
  Blad1.Range("A2").CopyFromRecordset rst
  
  ' Veldnamen overnemen en opmaak instellen
  For i = 0 To rst.Fields.Count - 1
    Blad1.Cells(1, i + 1) = Mid(rst.Fields(i).Name, 4)
    Blad1.Cells(1, i + 1).Font.Bold = True
    Blad1.Columns(i + 1).AutoFit
  Next
  
  ' Netjes afsluiten
  rst.Close
  Set rst = Nothing
  cn.Close
  Set cn = Nothing
End Sub

Uiteindelijk gaat het voor dit artikel natuurlijk om het openen van de connectie. Alle vier de gebruikte parameters zijn van belang.
  • Provider is uiteraard van belang. 
  • Data Source is altijd (localdb)\v11.0 bij SnelStart. LocalDb ondersteunt wel named instances, maar dat wordt door SnelStart niet gebruikt.
  • Integrated Security moet SSPI zijn. 
  • AttachDbFileName bevat pad en naam van de administratie/database. 

Met deze connectiestring kan dus een ADODB-recordset worden geopend met gegevens vanuit LocalDb.








b i u citaat


CAPTCHA Afbeelding
Vul de bovenstaande code hieronder in
Reactie opslaan
0 Reacties
SnelStart 12 koppelingen database en Gateway
SnelStart 12 koppelingen database en Gateway

Excel-kasboek importeren in SnelStart
Excel-kasboek importeren in SnelStart