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

Update query - Aktualisierungsabfrage

Frage Microsoft Microsoft Office

Mitglied: badni12

badni12 (Level 1) - Jetzt verbinden

08.08.2014 um 12:08 Uhr, 1240 Aufrufe, 6 Kommentare

Hallo

Habe zwei Tabellen, die eine Tabelle "x" ist eine reine Eingabetabelle mit unzähligen Feldern (darunter das Feld "Lieferant")
Die zweite Tabelle "y" hingegen beinhaltet nur zwei Felder, "Lieferant" und "Lieferant Info"
Deshalb habe ich eine Aktualisierungsabfrage gemacht, funktioniert auch soweit

Wenn ich jetzt allerdings einen neuen Datensatz mit einem neuen Lieferanten und dem Info dazu in der Tabelle "y" anlege , zeigt er mir die Info zum dazugehörigen Lieferanten in der Tabelle "x" nicht mehr an.

Bitte um Hilfe
Thx
Lg
badni
Mitglied: drobskind
08.08.2014 um 13:12 Uhr
Ein paar mehr Informationen währen nicht schlecht...
Ich kann nur erkenne, dass es sich um zwei Tabellen und Office handelt.

Meinst du Excel, oder Access? (Aufgrund des query Begriffs gehe ich mal von Access aus)

Wie sieht deine "query" aus?
Bitte warten ..
Mitglied: badni12
08.08.2014, aktualisiert um 13:31 Uhr
hallo

srry dafür :p

ja, arbeite mit MS Access 2010

machte eine Aktualisierungsabfrage mit folgendem sql:

(tabelle x heißt Eingabe, tabelle y heißt Infolieferant)

01.
UPDATE Eingabe, Infolieferant SET Eingabe.Info = [Infolieferant]![Info] 
02.
WHERE ((([Eingabe]![Lieferant])=[Infolieferant]![Lieferant]));
allerdings schreibt er nur bei den bereits bestehenden Lieferanten die Information in der Tabelle Eingabe hinzu
wenn ich einen neuen Datensatz mit neuen Lieferanten erstelle, funktioniert das nicht mehr..

lg
badni
Bitte warten ..
Mitglied: drobskind
08.08.2014 um 13:31 Uhr
Also wenn ich das jetzt spontan richtig lese, ist das auch vollkommen logisch.
deine where Bedingung sagt ja auch, x.Lieferant = y.Lieferant

du müsstest diese mit einer select und insert query koppeln.


Also kurz:
wenn x.lieferant in y.lieferant, dann update ...
else insert x.lieferant into y.lieferant

Gruß
drobskind
Bitte warten ..
Mitglied: drobskind
08.08.2014 um 13:40 Uhr
Beispiel: (TSQL sicher so nicht ausführbar)



if exist (select * from Infolieferant
where Infolieferant.Info = Eingabe.Info)
begin
UPDATE Eingabe, Infolieferant SET Eingabe.Info = [Infolieferant]![Info]
WHERE ((([Eingabe]![Lieferant])=[Infolieferant]![Lieferant]));
end
else
begin
insert into infolieferant.info values (eingabe.info,"HUGO","usw")
end
Bitte warten ..
Mitglied: badni12
08.08.2014 um 13:40 Uhr
hallo

danke schonmal für die antwort

kannst mir vlt noch sagen wie ich die zwei abfragen kopple und wo ich die Bedingung dann reinschreiben muss? Muss ich das dann in VBA machen?

lg
badni
Bitte warten ..
Mitglied: drobskind
08.08.2014 um 13:43 Uhr
Siehe mein Beispiel oben...
leider bin ich mit Access nicht so bewandert wie mit TSQL und Microsoft SQL Server.
Aber es müsste ja im Access auch eine Möglichkeit geben, den SQL Befehl von hand einzugeben, statt ihn zusammenzuklicken.
Somit ist sicher auch eine IF-Then-Else funktion wie in meinem Beispiel möglich.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(4)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
gelöst Windows 10 Update gefriert (10)

Frage von KodaCH zum Thema Windows 10 ...

Viren und Trojaner
gelöst Trendmicro 9 Update fehlgeschlagen (10)

Frage von Azubine zum Thema Viren und Trojaner ...

Server-Hardware
gelöst HP Mircroserver und Proliant Bios Update (7)

Frage von DeathNote zum Thema Server-Hardware ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...