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

MS Office Access, prüfen ob wert in einer anderen tabelle vorhanden

Frage Microsoft Microsoft Office

Mitglied: badni12

badni12 (Level 1) - Jetzt verbinden

16.07.2014, aktualisiert 15:29 Uhr, 4024 Aufrufe, 11 Kommentare

Hallo

Ich habe ein Insert Into Programm geschrieben, dass die Werte vom Formular x (basierend auf die Tabelle x) in die Tabelle gesamt überträgt, funktioniert einwandfrei
nun möchte ich aber, wenn ein gewisser Wert schon vergeben ist, dass das Programm eine MsgBox mit "Bereits Vorhanden" ausgibt

Das eindeutige Feld in der Tabelle x heißt "Muster_Nr", in der Tabelle gesamt "Musternummer"

Habe es mit dieser Methode probiert:
01.
If DCount("[Muster_Nr]", "x" = Forms!gesamt!Musternummer) Then 
02.
MsgBox "Bereits Vorhanden" 
03.
Else 
04.
DoCmd.RunSQL "INSERT INTO gesamt... 
05.
End If
auch habe ich diese Methode probiert:
01.
If DCount("*","gesamt", Musternummer='" & Me!Muster_Nr & "'") > 0 Then 
02.
MsgBox "Bereits Vorhanden", vbOKOnly, "Achtung!" 
03.
Else 
04.
DoCmd.RunSQL "INSERT INTO gesamt... 
05.
End If
Funktionieren beide nicht..

Jemand Tipps bzw kann mir jemand helfen?

Danke im Voraus

lg
Mitglied: drobskind
16.07.2014 um 14:54 Uhr
Hallo badni12,

ich schieße mal ins blaue...
Wenn du die Möglichkeit hast, die Spalte in deiner Tabelle als Unique zu kennzeichnen, bekommst du automatisch einen Fehler.
Ist bei MS-SQL-Server ohne weiteres möglich.
Oder wo willst du reinschreiben?

Gruß
Bitte warten ..
Mitglied: badni12
16.07.2014 um 14:58 Uhr
hallo

danke schon mal für die Antwort

versuche deinen Ratschlag mal umzusetzen

zur weiteren Erklärung
ich gebe die Daten im Formular x(basierend auf die Tabelle x) ein, drücke auf den Button "in gesamt speichern" und er schreibt mir den Datensatz in die Tabelle gesamt

lg
Bitte warten ..
Mitglied: badni12
16.07.2014 um 15:00 Uhr
hallo

kann nicht gehen weil von den alten Daten nicht alle befüllt sind.. (sind über 3000 DS ;))
Bitte warten ..
Mitglied: colinardo
16.07.2014, aktualisiert um 19:13 Uhr
Moin,
Die richtige Variante für DCount lautet:
01.
DCount("[Musternummer]","gesamt","[Musternummer] = " & Me!Muster_Nr)
http://office.microsoft.com/de-de/access-help/dcount-funktion-HA0012288 ...

wenn die Spalte "Musternummer" im Zahlenformat angelegt ist, darfst du keine einfachen Anführungszeichen um den Wert setzen, ansonsten schon.

Grüße Uwe
Bitte warten ..
Mitglied: badni12
17.07.2014, aktualisiert um 07:43 Uhr
Hallo Uwe

wenn ich das jetzt mit dieser Methode probier geht es auch nicht..

01.
If DCount("[Musternummer]", "gesamt", "[Musternummer] = " & Me![Muster_Nr]) Then 
02.
MsgBox "Schon vergeben" 
03.
Else 
04.
DoCmd.RunSQL "INSERT INTO gesamt... 
05.
End If
er zeigt mir immer die MsgBox an..

gibt es vlt eine andere Möglichkeit das zu prüfen?

Lg
Bitte warten ..
Mitglied: colinardo
17.07.2014 um 07:52 Uhr
dann machst du irgendwas falsch, geht hier seit eh und je so ... sorry.
Bitte warten ..
Mitglied: badni12
17.07.2014 um 08:04 Uhr
hallo

kannst du mir vlt noch tipps geben auf was ich achten muss, dass es möglicherweiße funktioniert?

namen und so sind alle korrekt geschrieben..

lg
Bitte warten ..
Mitglied: colinardo
LÖSUNG 17.07.2014, aktualisiert um 08:32 Uhr
Bei Angabe von Formulartextfeldern solltest du immer zwischen "Value" und "Text" unterscheiden (das kann einen Unterschied machen!) deshalb gebe mal Text als abzufragende Eigenschaft an.
Wenn die Spalte Musternummer als Zahl formatiert ist so:
01.
If DCount("[Musternummer]", "gesamt", "[Musternummer] = " & Me.Muster_Nr.Text) > 0 Then 
02.
   MsgBox "Schon vergeben" 
03.
Else 
04.
   DoCmd.RunSQL "INSERT INTO gesamt... 
05.
End If
Wenn Leerzeichen in Musternummer vorkommen können und das Feld bzw. Spalte im Textformat ist, muss es natürlich so aussehen:
01.
If DCount("[Musternummer]", "gesamt", "[Musternummer] = '" & Me.Muster_Nr.Text & "'") > 0 Then 
02.
   MsgBox "Schon vergeben" 
03.
Else 
04.
   DoCmd.RunSQL "INSERT INTO gesamt... 
05.
End If
Bitte warten ..
Mitglied: badni12
17.07.2014, aktualisiert um 11:01 Uhr
vielen dank!!
der zweite code hat mir geholfen

der richtige code lautet

01.
If DCount("[Musternummer]", "gesamt", "[Musternummer] ='" & Me![Muster-Nr] & "'") > 0 Then
lg
Bitte warten ..
Mitglied: evolution
05.11.2014 um 13:01 Uhr
also ungefär so?
01.
Private Sub check_lks_vorhhanden() 
02.
    If DCount("*", "test_id" & Me.Test.Text & "' AND lks_id'" & Me.Kunde.Text & "'") > 0 Then 
03.
       MsgBox "Schon vergeben" 
04.
    Else 
05.
       MsgBox "Gibt es noch nicht" 
06.
       'Cmd.RunSQL "INSERT INTO sys_lks_noten ( kunden_id, test_id, punkte, max_punkte, datum ) SELECT [Formulare]![lks_erfassen]![ID] AS Ausdr1, [Formulare]![lks_erfassen]![Test] AS Ausdr2, [Formulare]![lks_erfassen]![Punkte] AS Ausdr3, [Formulare]![lks_erfassen]![erreichbare_punkte] AS Ausdr4, [Formulare]![lks_erfassen]![Datum] AS Ausdr5;" 
07.
    End If 
08.
End Sub
Bitte warten ..
Mitglied: colinardo
05.11.2014, aktualisiert um 13:11 Uhr
Zitat von evolution:

also ungefär so?
bitte in deinem Thread posten, merci ...
01.
If DCount("*", "sys_lks_noten","[test_id] = '" & Me.Test.Text & "' AND [lks_id] = '" & Me.Kunde.Text & "'") > 0 then 
02.
.... 
03.
.... 
04.
End if 
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst ACCESS Prüfen ob IP Adresse in IP Range vorhanden (6)

Frage von thomas1972 zum Thema Microsoft Office ...

Microsoft Office
gelöst SOF MS Office 2013 Home and Business 1User ger PKC (3)

Frage von FA-jka zum Thema Microsoft Office ...

Microsoft Office
MS Office 2013: Anmeldeinformationen bzw. Benutzername ändern (2)

Frage von Dakanda zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...