Ophalen Data Uit een Access DB

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Ophalen Data Uit een Access DB

Postby Harry » Mon May 28, 2018 10:46 am

Hallo,..
Ik loop al een tijdje te knoeien met het ophalen van een record uit een simpel Access Db.
wat is de bedoeling:
ik sla de meterstanden dagelijks op in een database:

Het opslaan is geen probleem en doe ik op de volgende wijze.
Code: Select all
Imports System.Data.OleDb
Imports System.Data

Sub Main(Optional ByVal pParms As String = "")
    Dim dvref As Long
    Dim dv As Object
    Dim strHC As String
    Dim CurrDatTim As Date = now
    Dim strDatabase As String
    Dim strConnectionString As String
    Dim sql As String
    Dim objConn As Object
    Dim entryfound As Boolean
    Dim entry As Double
    Dim entryDB As Double

    '*********************************************************************
    'varibles
    Dim DefaultPath As String
    Dim Hoog_Verbruik As Double
    Dim Laag_Verbruik As Double
    Dim Hoog_terug As Double
    Dim Laag_terug As Double
    Dim Jaar_Dag As Double = (currdattim.DayOfYear)
    Dim year As Double = (currdattim.Year)
    year = ((year - 2000) * 1000) + Jaar_Dag
    Jaar_dag = year
    'Laden
    DefaultPath = "E:\Program Files\HomeSeer HSPRO\data\Smile\Smiledata.mdb"
    Hoog_verbruik = hs.DeviceValue("^91")
    Hoog_terug = hs.DeviceValue("^93")
    Laag_Verbruik = hs.DeviceValue("^90")
    Laag_terug = hs.DeviceValue("^92")

    Dim SmileData As Date = DateValue(Now())
    Dim SmileTime As Date = TimeValue(Now())

    ' DB vullen
    objConn = CreateObject("ADODB.Connection")
    strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DefaultPath
    objConn.Open(strConnectionString)

    sql = "insert into Smile (SmileDate, SmileTime, Hoog_verbruik, Laag_verbruik, Hoog_terug, Laag_terug, Jaar_Dag ) values ('" & DateValue(Now()) & "','" & TimeValue(Now()) & "','" & Hoog_verbruik & "','" & Laag_verbruik & "','" & Hoog_terug & "','" & Laag_terug & "','" & Jaar_Dag & "')"
    objConn.execute(sql)
    objConn.close()
    objConn = Nothing


echter vervolgens wil ik data van een bepaalde record weer laden om vervolgens te verwerken maar dat wil niet lukken.
ik probeer het op deze wijze.
Als ik de aantal loops door de database tel gaat dit allemaal goed.
echter als ik probeer een bepaalde record te filteren lukt dit niet.
het item waar ik op wil filteren is kolom "jaar_dag"
als ik deze heb gevonden is het de bedoeling de waardes van de andere kolommen in een variabele te krijgen , voor verdere verwerking.

waar het mis gaat lijkt regel
getNames = getNames + rs.Fields(0) & ","
te zijn


Code: Select all
Imports System.Data.OleDb
Imports System.Data

Sub Main(ByVal Parms As Object)
    Dim connStr, objConn, getNames
    Dim rs
   
    connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\Program Files\HomeSeer HSPRO\data\Smile\Smiledata.mdb"
    Try
        'Define object type
        objConn = CreateObject("ADODB.Connection")
        'Open Connection
        objConn.open(connStr)
        'Define recordset and SQL query
        rs = objConn.execute("SELECT Jaar_Dag FROM Smile")
        'While loop, loops through all available results
        Do While Not rs.EOF
            'add names seperated by comma to getNames
            getNames = getNames + rs.Fields(0) & ","
            ' move to next result before looping again
            rs.MoveNext()
            'continue loop
        Loop
        hs.WriteLog("info", "waarden" & getNames)
        hs.speak("Smile reed")
    Catch ex As Exception
        hs.speak("read falled")
    End Try
    'Close connection and release objects
    objConn.Close()
    rs = Nothing
    objConn = Nothing
End Sub
User avatar
Harry
Member
Member
 
Posts: 314
Joined: April 2006
Location: Drachten

Return to Homeseer Scripts Forum

Who is online

Users browsing this forum: No registered users and 1 guest