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
GELÖST

DCount Funktion in Access 2003

Frage Entwicklung VB for Applications

Mitglied: crack24

crack24 (Level 2) - Jetzt verbinden

26.06.2013, aktualisiert 11:12 Uhr, 2335 Aufrufe, 9 Kommentare, 1 Danke

Hallo,

ich möchte bei einem neuen Auftragsdatensatz prüfen ob die Bestellnummer für diesen Kunden schon vorhanden ist, damit keine Bestellungen doppelt erfasst werden.

Ich habe dazu folgende Funktion, aber anscheinend sind da noch syntaktische Fehler drin
01.
Sub Check_Bestellnummer() 
02.
    If DCount("*", "Fertigung", "[Kunden_Bestell_Nr]='" & Me![Kunden_Bestell_Nr] & "' AND [F_KundenID]='" & Me![KID] & "'")> 0 Then 
03.
        MsgBox "Ein Auftrag mit dieser Bestellnummer ist schon vorhanden!" 
04.
    End If 
05.
End Sub
Wennn ich nur die Bestellnummer überprüfe, für alle Kunden, dann gehts. Aber wenn ich noch die Prüfung mit der Kundennummer dranhänge, funktioniert es nicht.

Sieht da vielleicht jemand auf die Schnelle den Fehler?

Viele Grüße
crack
Mitglied: Biber
26.06.2013 um 09:59 Uhr
Moin crack24,

und wenn du zwischen den beiden Bedingungen noch ein " AND " spendierst?

Grüße
Biber
Bitte warten ..
Mitglied: crack24
26.06.2013 um 10:27 Uhr
Hallo Biber,

ich hatte den Beitrag nachträglich nochmal bearbeitet, kann sein dass wir uns da überschnitten haben.

Ich habe das AND jetzt drin, aber irgendwo hakt es noch.
Bitte warten ..
Mitglied: Biber
26.06.2013, aktualisiert um 10:57 Uhr
Moin crack24,

dann können nur die Datentypen von "F_KundenID" und "Me![KID"] auseinanderlaufen.
Laut Syntax erwartest du für dieses Datenbank-/Formularfeld-Pärchen einen Text-Datentyp.
Ist dem so in der Tabelle und im Formular?

Wenn ja, muss eines der Beiden noch geTRIMmed werden?

Grüße
Biber
[Edit] Ähhm .. okay... einiges pricht auch für colinardos hinweis auf die fehlende Klammer-Zu.
Die hab ich auch übersehen.
Vergiss meinen Kommentar.
[/Edit]
Bitte warten ..
Mitglied: colinardo
26.06.2013, aktualisiert um 11:03 Uhr
Hallo crack,
fehlt da nicht die schließende Klammer von DCount am Ende?:
If DCount("*", "Fertigung", "[Kunden_Bestell_Nr]='" & Me![Kunden_Bestell_Nr] & "' AND [F_KundenID]='" & Me![KID] & "'") > 0 then
Bitte fasse deinen Code in "Code" Tags ein damit Sonderzeichen hier nicht unterschlagen werden, merci.

Grüße Uwe
Bitte warten ..
Mitglied: crack24
26.06.2013 um 11:19 Uhr
Stimmt, die Klammer fehlte. Habe ich ergänzt und in Code Tages eingefasst.

@Biber
Da scheint das Problem zu liegen. "F_KundenID" ist Zahl (Long Integer) in der Tabelle und "KID" ist ein Kombinationsfeld. Lass ich dann die Hochkommata und Anführungszeichen einfach weg oder muss man für Zahlen noch etwas spezielles beachten?
Bitte warten ..
Mitglied: colinardo
26.06.2013 um 11:43 Uhr
Zitat von crack24:
Lass ich dann die Hochkommata und Anführungszeichen einfach weg oder muss man für Zahlen noch etwas
spezielles beachten?
einfach die Hochkommas weglassen und den Wert deines Kombinationsfeldes zur Sicherheit zusätzlich noch in eine Dezimalzahl konvertieren
CDec(Me![KID])
Bitte warten ..
Mitglied: Biber
26.06.2013, aktualisiert um 11:52 Uhr
Moin crack24,

tja, ACCESS-SQL ist bei mir auch schon ein paar Tage her -aus dem Gedächtmis heraus würde ich einen String dann mit "cLng()" konvertieren - oder mit CAST()/CONVERT(),
Alle diese Funktionen sind in ACCESS-SQL vorhanden, inwieweit die in der be###enen Hilfe dokumentiert sind, wissen nur die Redmonder PraktikantInnen.

Grobe Richtung:
01.
If DCount("*", "Fertigung", "[Kunden_Bestell_Nr]='" & Me![Kunden_Bestell_Nr] & _ 
02.
   "' AND [F_KundenID]=cLng('" & Me![KID] &  "')") > 0 then..
cLng kann aber auch nur einen String in Long konvertieren, der eine Zahl repräsentiert
-> ->cLng("66")==66; cLng("GDAGD")==#Tilt#

Grüße
Biber
Bitte warten ..
Mitglied: crack24
26.06.2013 um 13:07 Uhr
Ich hab es jetzt hinbekommen, sogar ohne Konvertierung.

01.
Sub Check_Bestellnummer() 
02.
If DCount("*", "Fertigung", "[F_Knd_Besl_Nr]='" & Me![F_Knd_Besl_Nr] & "' AND [F_KNrID] = " & Me![KID]) > 0 Then 
03.
MsgBox "Ein Auftrag mit dieser Bestellnummer ist schon vorhanden!" 
04.
End If 
05.
End Sub
Damit läuft es. Vielen Dank für eure Hilfe.
Bitte warten ..
Mitglied: colinardo
27.06.2013 um 12:17 Uhr
Noch zur Info: Bitte markiere den Beitrag als gelöst. Siehe dazu die FAQ
Danke
Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (4)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...