| |
VB & DatenbankenSummenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: TSch66 | Datum: 16.06.13 17:04 |
| Hallo,
ich habe eine DAO-Verbindung per ODBC auf eine Datenbank im SQL-Server 2008 Express hergestellt. Mittels einer SQL-Abfrage möchte ich nun eine Tabelle auf ein bestimmtes Datum filtern und eine Summe über ein Dezimalfeld erstellen.
strSel = "SELECT Kasse, sum(GESBETRAG) as UMSATZ FROM tbUmsatz WHERE Datum='2012-06-17' GROUP BY Kasse ORDER BY Kasse"
"Datentypen in Kryterienausdruck unverträglich"
Es wird wohl daran liegen, dass die Daten für GESBETRAG mit einem "." als Trennzeichen dargestellt wird, und meine Landeseinstellung auf Deutsch ist. Die Spalte GESBETRAG ist in der Datenbank als Decimal(18,2) deklariert.
Wie bekomme ich in VB6 eine Abfrage hin, die mir eine Summe über die Spalte erstellt.
Binde ich die Tabelle über selbe ODBC-Verbindung in Access 2003 ein, dann wird die Summe im Abfragefenster sauber erstellt.
Gruß Torsten | |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: Blackbox | Datum: 16.06.13 21:38 |
| Hi,
ich würde mit DAO niemals auf einen SQL-Server gehen. Darin liegt das Problem. Versuche es evtl. mit ADO. | |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: stefan220273 | Datum: 16.06.13 22:53 |
| SQL Server(datum=deutsch) und Access(datum=immer englisch) speichern das Datum anders....
Pack einfach in deine Abfrage für den SQL Server das Datum im deutschen Format(DD.MM.YYYY) und schon sollte deine Abfrage auch funktionieren.
Gruss Stefan
Egal wie oft etwas gelöscht wird, das Internet vergisst nie und Menschen lassen sich nicht dauerhaft täuschen!
| |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: TSch66 | Datum: 17.06.13 00:15 |
| Vielen Dank, ich habe es mir schon halberlei gedacht. Aber der Mensch ist nun einmal ein Gewohnheitstier, und ich habe mal mit DAO angefangen und komme da so schwer von los. Aber jetzt muss ich wohl
Funktioniert auf jeden Fall einwandfrei.
Gruß Torsten | |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: Franki | Datum: 17.06.13 02:03 |
| Hallo,
du hast zwar recht, dass Datenbanken verchiedene Formate haben. Aber grade bei Datenbanken ist es so, dass Datumsangaben intern ja sowieso vom Format unabhängig sind und das sogar bei Uraltversionen von Access.
ganz simples Beispiel:
Tagesdatum = Now
DbWert = CDbl(Tagesdatum)
MsgBox Tagesdatum & vbCrLf & DbWert
MsgBox CDate(DbWert) Das funktioniert immer, egal um welches Land und DB es sich handelt.
Was dann da an Formatierungen für die Anzeige kommt hängt natürlich von den Einstellungen ab, aber das ist nicht das Thema der Fragestellung.
Aber abgesehen davon ging es bei der Ausgangsfrage ja nicht darum dass das Datum angemeckert wurde sondern der Betrgag.
Gruß
Frank
| |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: Franki | Datum: 17.06.13 02:12 |
| Hallo Torsten,
Welchen Datentyp hat denn bei dir die Spalte GESBETRAG?
Die sollte keinesfalls ein "Textfeld" sein sondern ein Feld mit Zahlentyp (Double, Currency) Dann hast du auch keinerlei Probleme mit Komma / Punkt usw.
Es spielt dabei auch keine Rolle, ob du per ADO oder DAO auf die jeweilige DB zugreifst. Denn der Typ des Feldes ist entscheidend für Berechnungen. (Beide können das nicht, wenn der Typ nicht stimmt) Was dann wie und wo in der Anzeige für den User passiert kommt erst danach und ist ein ganz anderes Thema.
Wenn du mit den richtigen Datentypen in der DB arbeitest spielt die Ländereinstellung eine untergeordnete Rolle, siehe auch meine andere Antwort zum Thema Datum
Gruß
Frank
| |
Re: Summenbildung mittels SQL-Abfrage mit SQL Server 2008 EXPRESS nicht möglich | | | Autor: TSch66 | Datum: 17.06.13 23:29 |
| Hallo,
scheinbar gibt es doch einen Unterschied zwischen DAO und ADO, denn in beiden Fällen ist die Spalte als decimal(18,2) formatiert. Bei der ADO-Verbindung ist die Summenbildung einwandfrei möglich und bei der DAO-Verbindung nicht.
Bei Access-Datenbanken habe ich mit DAO nie Probleme gehabt, aber SQL-Server scheint mit ADO viel unproblematischer zu laufen.
Gruß Torsten | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|