Datenbank Verbindung

  • VB6

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von Ovoxo.

    Ovoxo schrieb:

    Kundennummer Internet

    Keine Leerzeichen in Spaltennamen
    Zur Verbesserung der Lesbarkeit würde ich mir an deiner Stelle angewöhnen "SELECT", "FROM" usw in Großbuchstaben zu schreiben (So wie du es bei BETWEEN und AND schon gemacht hast).
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    Ovoxo schrieb:

    Das war nicht der Fehler

    Naja eigentlich schon :) Nur das es sich hier um 2 Spalten handelte und nicht eine, was ich ja nicht wissen konnte.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    So warscheinlich die letzt Frage :)

    Quellcode

    1. Option Explicit
    2. Dim Cn, sql, rd, item, dt1, dt2, year, month, day, count
    3. Set Cn = CreateObject("ADODB.Connection")
    4. Cn.ConnectionString = "Provider = SQLOLEDB; Data Source=Server; User ID= UID; Password= PW; Initial Catalog=DB;"
    5. Cn.Open 'Verbindung herstellen
    6. year = DatePart("yyyy", Now)
    7. month = DatePart("m", Now)
    8. day = DatePart("d", Now)
    9. dt1 = year & "-" & month & "-" & day & " 00:00:00.000"
    10. dt2 = year & "-" & month & "-" & day & " 23:59:59.999"
    11. sql = "SELECT COUNT(*) FROM dbo.Companies Where CreatedOn BETWEEN '" & dt1 & "' AND '" & dt2 & "'"
    12. Set rd = Cn.Execute(sql)
    13. count = rd(0)
    14. MsgBox(count)
    15. If (count = 0) OR (IsNull(count)) Then
    16. MsgBox("No Items Found")
    17. Else
    18. sql = "SELECT Company, ZIP, City, Street, Phone, Fax, Email, Kundennummer, Internet FROM dbo.Companies Where [CreatedOn] BETWEEN '" & dt1 & "' AND '" & dt2 & "'"
    19. Set rd = Cn.Execute(sql)
    20. For Each item In rd.Fields
    21. If (item = "") OR (IsNull(item)) Then
    22. MsgBox("")
    23. Else
    24. MsgBox(item)
    25. End If
    26. Next
    27. End If
    28. If Cn.State = 1 Then
    29. Cn.Close
    30. Set Cn = Nothing
    31. MsgBox("Closed")
    32. Else
    33. MsgBox("Failed")
    34. End If


    Wenn ich es ausführe, gibt es mir den ersten Datensatz aus, der gefunden wurde.
    Ich weiss aber das es mehr als nur einen Datensatz gibt und würde diesen auch gerne ausgeben lassen
    Danke hat super geklappt :D

    Quellcode

    1. Set rd = Cn.Execute(sql)
    2. count = rd(0)
    3. MsgBox(count)
    4. If (count = 0) OR (IsNull(count)) Then
    5. MsgBox("No Items Found")
    6. Else
    7. sql = "SELECT Company, ZIP, City, Street, Phone, Fax, Email, Kundennummer, Internet FROM dbo.Companies Where [CreatedOn] BETWEEN '" & dt1 & "' AND '" & dt2 & "'"
    8. Set rd = Cn.Execute(sql)
    9. Do Until rd.EOF
    10. For Each item In rd.Fields
    11. If (item = "") OR (IsNull(item)) Then
    12. MsgBox("")
    13. Else
    14. MsgBox(item)
    15. End If
    16. Next
    17. rd.MoveNext
    18. Loop
    19. End If

    [line]​[/line]

    Wirklich aller letztes Problem dann steht das Script :D
    Wie kann ich pro LOOP den wert in eine Variable speichern?
    Habe es so versucht aber klappt nicht

    Quellcode

    1. For Each item In rd.Fields
    2. If (item = "") OR (IsNull(item)) Then
    3. MsgBox("")
    4. Else
    5. items(i) = rd(i)
    6. MsgBox(item)
    7. End If
    8. i = i + 1
    9. Next


    Zitat entfernt. Beiträge zusammengefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Thunderbolt“ ()