Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datentypen in Kriterienausdruck unverträglich

Frage Entwicklung Datenbanken

Mitglied: contool

contool (Level 1) - Jetzt verbinden

18.04.2012 um 12:35 Uhr, 4585 Aufrufe, 14 Kommentare

Hallo Zusammen !

Wir haben für unsere Homepage eine Art CMS System das auf einer Access Datenbank basiert, mit welchem wir z.B. Kurse oder sonstige Angaben vereinfacht eintragen können. Möchte ich bei unseren Kursen im CMS System einen neuen Kurs eintragen erhalte ich folgende Fehlermeldung:


Microsoft JET Database Engine- Fehler '80040e07'

Datentypen in Kriterienausdruck unverträglich.

/seminare_dbeintrag.asp, line 11





Wenn ich in dem ASP File nachschaue unter Line 11 ist folgender Code drin:

Set seminare = DB.Execute("INSERT INTO seminare (kursnr, seminarname, beschreibung, zielgruppe_1, zielgruppe_2, zielgruppe_3, zielgruppe_4, zielgruppe_5, zielgruppe_6, dauer, link, kategorie, sortierung, tag, monat, jahr, pdfname, url, urltext, preis, waehrung, kursort, fuehrungskraefte, cfos, controller, mzsg, weka, czsg) VALUES ('" & _


Und unten drunter folgendes:

REPLACE(request.form("kursnr"), "'", "''") & "', '" & _
REPLACE(request.form("seminarname"), "'", "''") & "', '" & _
REPLACE(request.form("beschreibung"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_1"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_2"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_3"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_4"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_5"), "'", "''") & "', '"& _
REPLACE(request.form("zielgruppe_6"), "'", "''") & "', '"& _
REPLACE(request.form("dauer"), "'", "''") & "', '"& _
REPLACE(request.form("link"), "'", "''") & "', '"& _
REPLACE(request.form("kategorie"), "'", "''") & "', '"& _
REPLACE(request.form("sortierung"), "'", "''") & "', '"& _
REPLACE(request.form("tag"), "'", "''")& "', '"& _
REPLACE(request.form("monat"), "'", "''")& "', '"& _
REPLACE(request.form("jahr"), "'", "''") & "', '"& _
REPLACE(request.form("pdfname"), "'", "''") & "', '"& _
REPLACE(request.form("url"), "'", "''") & "', '"& _
REPLACE(request.form("urltext"), "'", "''") & "', '"& _
REPLACE(request.form("preis"), "'", "''") & "', '"& _
REPLACE(request.form("waehrung"), "'", "''") & "', '"& _
REPLACE(request.form("kursort"), "'", "''") & "', '"& _
REPLACE(request.form("fuehrungskraefte"), "'", "''") & "', '"& _
REPLACE(request.form("cfos"), "'", "''") & "', '"& _
REPLACE(request.form("controller"), "'", "''") & "', '"& _
REPLACE(request.form("mzsg"), "'", "''") & "', '"& _
REPLACE(request.form("weka"), "'", "''") & "', '"& _
REPLACE(request.form("czsg"), "'", "''") & "')")




%>






Wo liegt da der Fehler? In der Access Datenbank sind diese Tabellen Spalten mit den entsprechenden ID's/Namen alle vorhanden. Kann mir da jemand weiterhelfen?


Freundliche Grüsse

Contool
Mitglied: SlainteMhath
18.04.2012 um 13:08 Uhr
Moin,

Der Fehler
Datentypen in Kriterienausdruck unverträglich.
deutet darufhin, das du versiuchst ein String/Text-Feld mit einem Int-Wert zu fülllen, oder anders rum. Int-Werte dürfen nicht in Anführungszeichen stehen, String/Text müssen!

lg,
Slainte
Bitte warten ..
Mitglied: contool
18.04.2012 um 13:11 Uhr
Hey !

Besten Dank für deine Antwort. Wie finde ich denn heraus welches Feld ein String und welches ein Int-Werte Feld ist? Bzw. wo genau das Problem liegt?

Greez
Bitte warten ..
Mitglied: MadMax
18.04.2012 um 13:12 Uhr
Hallo Contool,

Access ist zwar nicht mein Gebiet, aber ich könnte mir vorstellen, daß Du bei einer Kommazahl (z.B. in der Spalte "preis") ein Komma eingetragen hast. Bei Datenbanken wird normalerweise ein Punkt als Dezimaltrennzeichen verwendet. Das könnte man dann also mit einem weiteren replace auf das Feld bereinigen.

Auf jeden Fall solltest Du prüfen, was in die Spalten, die nicht den Datentyp Text haben, eingetragen wird.

Gruß, Mad Max
Bitte warten ..
Mitglied: contool
18.04.2012 um 13:14 Uhr
Oh oh...das musst du mir nochmals für "Dummies" erklären

greez
Bitte warten ..
Mitglied: MadMax
18.04.2012 um 13:18 Uhr
Wenn Du bei Preis z.B. den Wert "3,50" einträgst, dann ist das für eine Datenbank keine Zahl. Der Wert "3.50" dagegen schon. Wenn das die Ursache wäre, dann könntest Du das mit einem replace (... , ',', '.') beheben.

Gruß, Mad Max
Bitte warten ..
Mitglied: contool
18.04.2012 um 13:24 Uhr
Aber beim Preis werden in der Regel nur Gerundete Beträge eingegeben...ich erhalte die Meldung auch ohne , oder .

:S :S
Bitte warten ..
Mitglied: MadMax
18.04.2012 um 13:35 Uhr
Dann wären mal die Datentypen Deiner Spalten interessant und was Du versuchst einzutragen. Außerdem solltest Du mal prüfen, was Slainte Dir geschrieben hat.

Gruß, Mad Max
Bitte warten ..
Mitglied: contool
18.04.2012 um 13:37 Uhr
Wie kann ich die Datentypen der Spalten prüfen?

Es sind Angaben zu Seminare, Titel, Beschreibung, Kosten, Datum, etc...die werden dort eingetragen und auf der Homepage wird ein neues Element mit dem eingetragenen Seminar erstellt.

greez
Bitte warten ..
Mitglied: SlainteMhath
18.04.2012 um 13:52 Uhr
Wie kann ich die Datentypen der Spalten prüfen?
Mit Access die Access-Datenbank öffnen, und die entsprechende Tabelle in der Entwurfsansicht öffnen.
Bitte warten ..
Mitglied: contool
18.04.2012 um 13:59 Uhr
Da steht folgendes drin:

http://img19.imageshack.us/img19/4641/seminare.jpg


Also das komische ist ja..wenn ich die Seminare direkt in die Access Datenbank eintrage geht es ohne Probleme. Nur hald über das CMS System kommt diese Meldung
Bitte warten ..
Mitglied: MadMax
18.04.2012 um 14:23 Uhr
Statt dieses "Set seminare = DB.Execute("INSERT INTO seminare ...", bei dem Du den Befehl direkt ausführst, weise diesen String doch mal einer Variablen zu. Dann setzt Du dahinter einen Breakpoint und schaust, was in der Variablen steht, das ist es ja dann, wie der Befehl genau aussieht. So solltset Du dem Problem auf die Spur kommen.

Gruß, Mad Max
Bitte warten ..
Mitglied: SlainteMhath
18.04.2012 um 14:27 Uhr
Zitat von contool:
Da steht folgendes drin:

http://img19.imageshack.us/img19/4641/seminare.jpg
Genau, und jetzt prüfst du in deinem Code:
- "Zahl"-Felder dürfen nicht in " oder ' eingeschlossen sein
- "Memo" und "Text" Felder müssen in " oder ' eingeschlossen sein
- "JA/Nein" Felder dürfen nur True oder False als wert haben, OHNE " oder '
Bitte warten ..
Mitglied: contool
18.04.2012 um 14:38 Uhr
Habe es angepasst. Jetzt kommt folgendes:

Kompilierungsfehler in Microsoft VBScript- Fehler '800a03ee'

')' erwartet

/cms/_training/seminare_dbeintrag.asp, line 39

REPLACE(request.form("czsg"), "'", "''") & "')")
Bitte warten ..
Mitglied: NetWolf
18.04.2012 um 14:47 Uhr
Moin Moin,

d.h. irgendwo sind die Anführungsstriche falsch, bzw. er gibt nur ein Anführungszeichen und das zweite fehlt.

Viel Spaß beim Suchen

Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...