vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Summenbildung 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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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