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

Visual-Basic Einsteiger
Fehlermeldung 
Autor: Tontilon22
Datum: 22.03.13 10:05

Ich habe ein Problem mit der SQL-Abfrage.

In der Datenbank Archiv habe ich zwei Tabellen

TB 2005 und artikel

SQL1 = "SELECT " + aJahr2 + "artnr, " + aJahr2 + "renr, " + aJahr2 + "liefdat," & _
  "" + aJahr2 + "rechDat, " _
& "" + aJahr2 + "gespreis, " + aJahr2 + "stueck, " + aJahr2 + "rabatt, " + _
aJahr2 + "preis, artikel.artnr, artikel.artbez, artikel.VPEINHEIT From 2005" & _
"Innen " _
& "Join " + aJahr + " 0n " + aJahr2 + "artnr = artikel.artnr"
 
  Set reRs = New ADODB.Recordset
    reRs.CursorLocation = adUseClient
    reRs.Open SQL1, conn1, adOpenKeyset, adLockReadOnly
    Set DataGrid1.DataSource = reRs
hinter der Varible aJahr2 verbirgt sich die Tabelle zB 2005.

Wenn ich das Programm starte, bekomme ich die Fehlermeldung:

´runt-time error -2147217900
Syntaxfehler (fehlender Operator) in Abrage 2005.artnr
Was habe ich verkehrt gemacht
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Klaus1704
Datum: 22.03.13 10:29

Hallo Tontilon,

statt INNEN besser INNER verwenden ...
aber das ist nicht der einzige Bug. Was möchtest Du denn erreichen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Klaus1704
Datum: 22.03.13 13:11

Hallo Tontilon,
beinhaltet das Feld aJahr2 einen ".", entsprechend dem Punkt bei "artikel.artnr"?
Am Anfang der Zeile "Innen " fehlt auch noch ein space, also " INNER ".
Gibt es nach diesen Änderungen noch Fehlermeldungen?

Gruß
Klaus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Tontilon22
Datum: 23.03.13 11:02

@Klaus

ja das aJahr hat am ende einen Punkt (2005.)
Aber nachdemich das Innen in Inner geänder haben, erhalte ich immer
noch die Fehlermeldung
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: ModeratorDieter (Moderator)
Datum: 23.03.13 11:37

Setze aJahr mal in eckige Klammern, also so:
aJahr = "[2005]."

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Tontilon22
Datum: 23.03.13 13:34

Leider klappt es nicht, denn es kommt die Fehlermeldung:

Sytaxfehler in der FROM-Klause

Es wird in der SQL Abfrage auch [2005].artnr, [2005].artbez usw. angezeigt!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: ModeratorDieter (Moderator)
Datum: 23.03.13 13:42

Poste doch bitte mal den Inhalt des kompletten Abfragestrings.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: bfritz
Datum: 25.03.13 00:29

Hallo Tontilon22

Zusammengefasste Spaltenbezeichnungen müssen mit "AS" dargestellt werden
Ändere daher deinen Code wie folgt
SQL1 = "SELECT " + aJahr2 + "artnr, " + aJahr2 + "renr, " 'usw.
auf diesen Code
SQL1 = "SELECT " + aJahr2 + "artnr AS aJahr2_artnr, " & _
             "+ aJahr2 + "renr AS aJahr2_renr, " 'usw.
LG bfritz
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Tontilon22
Datum: 27.03.13 10:18

Klappt auch nicht!

Auch ine weitere SQL-Anweisung klappt nicht :

SQL1 = "SELECT artikel.artnr, artikel.artbez, artikel.VPEINHEIT, artikel.me, " _
& "stammdat.kdnr, stammdat.name, stammdat.plz, stammdat.ort, 2005.renr, " _
& "2005.rechDat, 2005.preis, 2005.stueck, 2005.gesmenge, 2005.liefnr, " _
& "2005.rabatt, 2005.gespreis, 2005.vskosten " _
& "FROM (stammdat INNER JOIN 2005 ON stammdat.kdnr = 2005.kdnr)" _
& "INNER JOIN artikel ON rechnung.artnr = artikel.artnr "
  Set reRs = New ADODB.Recordset
    reRs.CursorLocation = adUseClient
    reRs.Open SQL1, conn1, adOpenKeyset, adLockReadOnly
    Set DataGrid1.DataSource = reRs
Ich bin langsam am verzweifeln!!!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: ModeratorDieter (Moderator)
Datum: 27.03.13 10:21

Deswegen bat ich dich ja mal, den Inhalt des SQL-Statements zu posten (nicht wie dieser zusammengestellt wird, sondern das was ausgeführt wird), also:
Debug.Print SQL1

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Klaus1704
Datum: 27.03.13 10:34

Hi Tontilon,
zwischen ".KDNR)" und "INNER" fehlt immer noch ein Leerzeichen!
Wenn nach dieser Änderung die Fehlermeldung noch existiert, prüfe ob die Felder in den Tabellen überhaupt so heissen.

Gruß
Klaus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Tontilon22
Datum: 29.03.13 08:19

Der Fehler taucht immer noch auf!

Die Felder sind alle in den Tabellen vorhanden!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung 
Autor: Tontilon22
Datum: 29.03.13 08:30

Ich bin langsam am verzweifeln.

Ich möchte aus den der Tabelle artikel die Felder:

artnr
artbez
vpeinheit
me

und aus der Tabelle archiv die Felder

kdnr
artnr
renr
rechDar
preis
gespreis

und aus der Tabelle stammdat die Felder

kdnr
name
ort

in einem DataGrid ausgeben, ich kann machen was ich will und habe shon einige SQL-Anweisungen ausprobiert, aber es kommen immer wieder Fehler Meldungen!

Kann mir jemand eine SQL-Anweisung verfassen, damit ich das hinbekommen!

Besten Dank im voraus.

Beitrag wurde zuletzt am 29.03.13 um 08:33:30 editiert.
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