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, 2367 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 ..
Ähnliche Inhalte
Exchange Server
Outlook Web Access auf IP Adresse beschränken (6)

Frage von touro411 zum Thema Exchange Server ...

LAN, WAN, Wireless
gelöst Apple AirPort und Access Point an Router anschließen (4)

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

Windows Server
Windows 2003 Domäne durch 2016er ersetzen (3)

Frage von Cenion zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

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

Java
gelöst Net user per script aus txt oder csv für FTP (12)

Frage von OlliPWS zum Thema Java ...