collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 80
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13915
  • stats Beiträge insgesamt: 65822
  • stats Themen insgesamt: 8880
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Datentypenkonflikt im Ausdruck  (Gelesen 1403 mal)

Offline 1stLt_Meyer

  • Newbie
  • Beiträge: 2
Datentypenkonflikt im Ausdruck
« am: Februar 19, 2017, 12:46:53 »
Hallo Zusammen

Ich stecke nun schon einige Tage an folgendem Problem fest:

Ich importiere eine Excel-Tabelle ins Access. Diese Tabelle hat 7 Spalten. Bei drei Spalten können NULL-Werte auftreten. Die Datentypen habe ich per VBA definiert:
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [Auftrag] Integer"
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [UeberAuftrag] Integer"
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [Verkaufsbeleg] Integer"
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [IHLeistungsart] Integer"
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [Planergruppe] Integer"

In einer ersten Abfrage habe ich die NULL-Werte mit der Nz-Funktion beseitigt.
Die erste Abfrage hat die folgende SQL:
SELECT [170217_Data].Auftrag, Nz([170217_Data].[UeberAuftrag],0) AS UeberAuftrag, Nz([170217_Data].[Verkaufsbeleg],0) AS Verkaufsbeleg, [170217_Data].Erfassungsdatum, [170217_Data].IHLeistungsart, [170217_Data].SummeIst, [170217_Data].SummeSoll, Nz([170217_Data].[Planergruppe],99) AS Planergruppe
FROM 170217_Data;
Diese Abfrage funktioniert einwandfrei. Alle Datensätze aus der Tabelle "170217_Data" werden angezeigt. Zusätzlich werden die NULL-Werte mit den Standardwerten aus der Nz-Funktion beseitigt.

Jetzt möchte ich eine zweite Abfrage erstellen, welche aus 3 Tabellen verknüpft ist.
1. Tabelle = 1. Abfrage "qry_basisdaten"
2. Tabelle = tbl_Leistungsart
3. Tabelle = tbl_Planergruppe

tbl_Leistungsart und tbl_Planergruppe bestehen aus 3 Spalten
-ID (AutoWert)
-idLeistungsart (Zahl)
-Leistungsart (Text)

Sobald ich die Verknüpfung im Abfrageneditor zwischen qry_basisdaten.Planergruppe und tbl_Planergruppe.idLeistungsart mache und die Abfrage ausführe, kommt der Fehler:
"Datentypenkonflikt im Ausdruck"

Die zweite Abfrage hat folgende SQL:
SELECT qry_basisdaten.Auftrag, qry_basisdaten.UeberAuftrag, qry_basisdaten.Verkaufsbeleg, qry_basisdaten.Erfassungsdatum, tbl_Leistungsart.Leistungsart, qry_basisdaten.SummeIst, qry_basisdaten.SummeSoll, qry_basisdaten.Planergruppe
FROM (qry_basisdaten INNER JOIN tbl_Leistungsart ON qry_basisdaten.IHLeistungsart = tbl_Leistungsart.idLeistungsart) INNER JOIN tbl_Planergruppe ON qry_basisdaten.Planergruppe = tbl_Planergruppe.idPlanergruppe;

Der Fehler tritt bei folgendem Abschnitt in der SQL auf:
INNER JOIN tbl_Planergruppe ON qry_basisdaten.Planergruppe = tbl_Planergruppe.idPlanergruppe
Ich habe schon alles versucht. Format bei den betroffen Spalten eingestellt, etc. Liegt das an der Nz-Funktion? Wenn ich diese Lösche funktioniert das ganze. Das Problem ist dann einfach, dass die NULL-Werte in der zweiten Abfrage verschwinden und mir so Datensätze verloren gehen, was nicht sein darf.

Ich bin um jegliche Hilfe froh.
 

Offline Josef P.

  • Access-Profi
  • **
  • Beiträge: 236
    • Code-Bibliothek für Access-Entwickler
Re: Datentypenkonflikt im Ausdruck
« Antwort #1 am: Februar 19, 2017, 13:36:35 »
Hallo!

Autowert entspricht einem Long-Integer-Datentyp.
=>
CurrentDb.Execute "ALTER TABLE " & tableName & " ALTER COLUMN [Planergruppe] Long"

Zitat
Das Problem ist dann einfach, dass die NULL-Werte in der zweiten Abfrage verschwinden und mir so Datensätze verloren gehen, was nicht sein darf.
Wenn statt Null immer 99 enthalten sein soll, könntest du das mit einer Aktualisierungsabfrage umsetzen. Dann kannst du in weiterer Folge Nz weg lassen.

Vielleicht hilft aber bereits statt inner join ein left join.

mfg
Josef
« Letzte Änderung: Februar 19, 2017, 13:40:56 von Josef P. »
 
Folgende Mitglieder bedankten sich: 1stLt_Meyer

Offline 1stLt_Meyer

  • Newbie
  • Beiträge: 2
Re: Datentypenkonflikt im Ausdruck
« Antwort #2 am: Februar 20, 2017, 07:31:44 »
Hallo Josef

Danke für den Tipp mit der Aktualisierungsabfrage. So funktioniert es.

Gruss