Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: Werte aus SQL auslesen und in WinCC darstellen

  1. #1
    Registriert seit
    28.02.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leuts,
    irgendwie hänge ich hier fest.
    Einmal wollte ich versuchen den letzten Wert aus der SQL-DB auszulesen und in das E/A Feld Ca_Wert zu setzen.
    Ich bekomme es schon bei einem Wert nicht hin und muss mehrere gleichzeitig auslesen.
    Vielleicht könnt ihr mir ein bißchen auf die Sprünge helfen??
    Mit SQL habe ich bis dato nicht so viel zu tun gehabt, aber das soll/muss sich nun ändern

    Hier der SQL mit dem ich es probiert habe:
    Code:
    'Datensatz aus Tabelle lesen
    'Read data record from table
    
    On Error Resume Next
    Err.Clear
    
    Dim ca_wert 'deklarieren der Variable 'variable declaration 
    
    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
    
    conn.Open "Provider=MSDASQL;DSN=Meerwasser_Daten" 'DSN= name of the odbc-database 'DSN= Name der ODBC-Datenbank
    
    Dim SQL_Tabelle 
    
    SQL_Tabelle = "Select VarName, TimeString, VarValue  From Wasserwerte0 Order By TimeString DESC" '&  WHERE (VarName= "Ca_wert") Order By TimeString DESC" '&SmartTags("Dat_Nr")  '* = Alle Daten ' * = all data
    
    Set rst = conn.Execute(SQL_Tabelle)
    
    If Err.Number <> 0 Then 
        ShowSystemAlarm Err.Description  'Error description ; Fehlerbeschreibung
    End If
    
    If Not (rst.EOF And rst.BOF) Then 
        'Vergleich ob End of File oder Begin of File ist, wenn nicht wird der Zeiger auf den Ersten Eintrag zurueckgesetzt
        'ShowSystemAlarm "Wert gefunden" 'Ausgabe im ALARM VIEW, ob Eintrag vorhanden
        'Compare if "End of File" or "Begin of File" exists, if not the pointer will be reset to the first entry
        'ShowSystemAlarm "Wert gefunden" 'Dispaly at ALARM VIEW, if entry exits.
        
        rst.MoveFirst 'auf 1. Eintrag zurueck setzen 'reset to 1. entry
        
        SmartTags("Ca_wert") = rst.Fields(1).Value
        
        
        rst.close 
    
    Else
        ShowSystemAlarm "Datensatz Nr. nicht vorhanden bzw. gefunden" 'Data Record Number does not existing or not found
    End If
    
    Set rst = Nothing
    Set conn = Nothing
    Err.Clear
    Vielen lieben Dank für Eure Unterstützung..
    Markus
    Zitieren Zitieren Werte aus SQL auslesen und in WinCC darstellen  

  2. #2
    DoGis ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.02.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, der SQL war ja völlig im eimer... War wohl gestern zu spät

    Hier ein neuer, aber auch der funzt nicht... keine Ahnung warum:
    Code:
    'Datensatz aus Tabelle lesen
    'Read data record from table
    
    On Error Resume Next
    Err.Clear
    
    Dim conn,rst 'deklarieren der Variable 'variable declaration 
    
    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
    
    conn.Open "Provider=MSDASQL;DSN=Meerwasser_Daten" 'DSN= name of the odbc-database 'DSN= Name der ODBC-Datenbank
    
    Dim SQL_Tabelle 
    
    SQL_Tabelle = "SELECT VarName, TimeString, VarValue FROM Wasserwerte0 &  WHERE (VarName = 'mg_wert') Order by TimeString DESC " '* = Alle Daten ' * = all data
    
    Set rst = conn.Execute(SQL_Tabelle)
    
    If Err.Number <> 0 Then 
        ShowSystemAlarm Err.Description  'Error description ; Fehlerbeschreibung
    End If
    
    If Not (rst.EOF And rst.BOF) Then 
        'Vergleich ob End of File oder Begin of File ist, wenn nicht wird der Zeiger auf den Ersten Eintrag zurueckgesetzt
        'ShowSystemAlarm "Wert gefunden" 'Ausgabe im ALARM VIEW, ob Eintrag vorhanden
        'Compare if "End of File" or "Begin of File" exists, if not the pointer will be reset to the first entry
        'ShowSystemAlarm "Wert gefunden" 'Dispaly at ALARM VIEW, if entry exits.
        
        rst.MoveFirst 'auf 1. Eintrag zurueck setzen 'reset to 1. entry
        
        'SmartTags("Value_1") = rst.Fields(1).Value
        'SmartTags("Value_2") = rst.Fields(2).Value
        SmartTags("mg_wert") = rst.Fields(3).Value 
        'SmartTags("Name_1") = rst.Fields(1).Name
        'SmartTags("Name_2") = rst.Fields(2).Name
        'SmartTags("Name_3") = rst.Fields(3).Name 
        
        rst.close 
    
    Else
        ShowSystemAlarm "Datensatz Nr. nicht vorhanden bzw. gefunden" 'Data Record Number does not existing or not found
    End If
    
    Set rst = Nothing
    Set conn = Nothing
    Err.Clear

  3. #3
    Registriert seit
    07.06.2011
    Beiträge
    117
    Danke
    4
    Erhielt 18 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ist VarName ein numerischer oder boolscher Wert, dann wird so gefiltert:

    Code:
    SQL_Tabelle = "SELECT VarName, TimeString, VarValue FROM Wasserwerte0  WHERE VarName = " & mg_wert & " Order by TimeString DESC"
    Ist VarName dagegen eine Zeichenkette, dann so:

    Code:
    SQL_Tabelle = "SELECT VarName, TimeString, VarValue FROM Wasserwerte0  WHERE VarName = '" & mg_wert & "' Order by TimeString DESC"
    Das Format der Variablen mg_wert ist dagegen bei der ganzen Filterei relativ uninteressant. Nur bei Datum/Uhrzeit wird's spannend.


    Gruß
    Mario

Ähnliche Themen

  1. Mit Schleife DB-Werte rückwärts auslesen?
    Von Rauchegger im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 28.10.2011, 10:46
  2. 2 Werte Zeitversetzt auslesen
    Von Chry007 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.02.2011, 17:14
  3. Werte / Status auslesen
    Von don.wastello im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.02.2010, 09:30
  4. Libnodave Werte zyklisch auslesen mit VB
    Von Fluffi im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 26.07.2009, 18:33
  5. Werte aus einen DB auslesen
    Von magmaa im Forum Programmierstrategien
    Antworten: 64
    Letzter Beitrag: 29.04.2009, 22:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •