Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Neuer Datenssatz in zweiter Tabelle
Gehe zu Seite 1, 2  Weiter
zurück: Filtern über das Formular weiter: Mehrere Endlosformulare untereinander darstellen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Steffen111
Erste Gehversuche mit VBA


Verfasst am:
10. Aug 2012, 08:17
Rufname: Steffen

Neuer Datenssatz in zweiter Tabelle - Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Moin,

habe wieder ein für mich großes Problem:

Ich will über ein "Unter"formular (F_Personen) in dem eine Tabelle (T_Personen) angezeigt wird,
einen Datensatz auswählen und mit einer Befehlsschaltfläche in der Tabelle (T_Aktionen) einen neuen Datensatz anlegen
und mit den eben ausgewählten Daten vom Datensatz (T_Personen) ausfüllen.
Und anschließend im Hauptformular (F_Aktionen) den neuen Datensatz weiter bearbeiten.

Mit einem Kombinationsfeld geht es schlecht, weil es verschiedene Übernahmevarianten und mehrere Befehlsschaltflächen geben wird.

Das "Unter"formular (F_Personen) und die Auswahl klappt schon. Cool

Was müsste aber nun im Code der Schaltfläche stehen?
- neuer DS in T_Aktionen irgendwie mit DoCmd.GoToRecord , , acNewRec ?
- Felder in T_Aktionen belegen [T_Aktionen].[Name] = [T_Personen].[Name] ?
- und dann das Unterformular F_Personen schließen und das Hauptformulat F_Aktionen mit dem letzten Datensatz aufrufen ?

So in etwa, aber wie gehts wirklich Confused ?

Grüße
Steffen
mikael
Access/SQL Server Entwickler


Verfasst am:
10. Aug 2012, 21:47
Rufname:


AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Moin Moin,

nur mal als Hausnummer:
Code:
    sql = "INSERT INTO T_Aktionen(Feld1, Feld2, Feld3)" _
       & " SELECT Feld1, Feld2, Feld3" _
         & " FROM T_Personen" _
        & " WHERE IDFeldausT_Personen = " & IDausF_Personen

Gruß
Mikael
Marmeladenglas
komme zurecht


Verfasst am:
10. Aug 2012, 22:26
Rufname:

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hi, wenn hier Stammdaten einer Person immer und immer wieder dupliziert werden sollen, dann ist das sicherlich der falsche Weg.
mikael
Access/SQL Server Entwickler


Verfasst am:
10. Aug 2012, 22:34
Rufname:

Re: AW: Neuer Datenssatz in zweiter Tabelle - Re: AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Moin

Natürlich ist es quatsch irgendwas mehrfach zu verteilen.

Wenn ich eine Personenkartei habe und mit einer der Personen irgendwas in einer anderen Ebene machen will übertrage ich lediglich die PersonenID um eine Zuordnung zu haben. Den Rest kann ich jederzeit über Abfragen holen.

Mein Tip war nur ein Ansatz dass man in solchen Fällen besser über die SQL Ebene fährt.

Hier sind keine Strukturen und keine Beziehungen zwischen den Datenquellen bekannt, also kann man hier auch keinen optimalen Weg zeigen

Ich lerne aber gerne dazu wenn du ausgehend aus den Beschreibungen direkt eine bessere Idee hast.

Gruß
Mikael
Marmeladenglas
komme zurecht


Verfasst am:
10. Aug 2012, 22:38
Rufname:


AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

@Mikael:
meine Antwort galt nicht dir.
Dein Vorschlag ist ok, weil man wirklich nichts über die Hintergründe weiß.
mikael
Access/SQL Server Entwickler


Verfasst am:
10. Aug 2012, 22:40
Rufname:

Re: AW: Neuer Datenssatz in zweiter Tabelle - Re: AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Smile alles klar, danke für die Info
Steffen111
Erste Gehversuche mit VBA


Verfasst am:
21. Aug 2012, 16:35
Rufname: Steffen

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hallo Mikael,

Danke für den Tipp:
Code:
    sql = "INSERT INTO T_Aktionen(Feld1, Feld2, Feld3)" _
       & " SELECT Feld1, Feld2, Feld3" _
         & " FROM T_Personen" _
        & " WHERE IDFeldausT_Personen = " & IDausF_Personen
Mal weg von abstrakten Umschreibungen: (Das Beispiel T_Personen war blöd, da hatte ich noch was anderes im Sinn!)
Ich habe den Code in der Fom eingebaut:
Code:
    Dim SQL As String

    SQL = "INSERT INTO T_Aktionen(Objekt-Nr, Objekt)" _
       & " SELECT O-ENr, O-Anschrift" _
         & " FROM T_Objekte" '_
        & " WHERE IDFeldausT_Aktionen = " & IDausT_Objekte
    DoCmd.RunSQL SQL
Beim Ausführen erfolgt eine Fehlermeldung:
Zitat:
Fehler beim Kompilieren:Syntaxfehler
mit Verweis auf die Zeile
Code:
        & " WHERE IDFeldausT_Aktionen = " & IDausT_Objekte
Nicht Lachen bitte! Embarassed
Mir dämmert schon, dass in dieser Zeile was anderes stehen müsste.

Kannst Du bitte noch mal schauen, Mikael?

Danke
Steffen
Marmeladenglas
komme zurecht


Verfasst am:
21. Aug 2012, 16:41
Rufname:

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hi,
wenn dieser Fehler bereinigt ist, kommen wahrscheinlich noch viel mehr Fehler.

Es könnte sein (dazu gibt es im Forum täglichst Beiträge Laughing ), das ein vermeintliches Textkriterium in Hochkommas anzugeben ist. Da aber in den Feldnamen ein ID vorangestellt ist, zweifle ich da selbst grad dran.

Weitere Fehler werden dann wahrscheinlich auftauchen, dass O-ENr so nicht als ein Feld erkannt wird, sondern als ein Feld O und ein Feld ENr, was voneinander zu subtrahieren ist....
da hätten wir es wieder das Vermeiden-Sollen von Sonderzeichen Operatoren, Umlauten etc.
Nächste Fehlerquelle könnte das Wörtchen SQL sein.
SQL ist von Access reserviert und sollte nicht als Variablennamen herangezogen werden.
Dann doch lieber ein geläufiges, unproblematisches strSQL

Und wie eingangs bereits "ermahnt" ist es natürlich überflüssig die Daten redundant immer und immer wieder zu speichern.
Das Erfassen/Speichern der ObjektID ist vollkommen ausreichend.

Seh grad da hängt auch ein vereinsamtes Hochkomma im String...
Code:
         & " FROM T_Objekte" '_  <---
mikael
Access/SQL Server Entwickler


Verfasst am:
21. Aug 2012, 16:59
Rufname:

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hi Steffen,

mir ist folgendes aufgefallen:
Wenn er in dieser Zeile stehen bleibt
Code:
        & " WHERE IDFeldausT_Aktionen = " & IDausT_Objekte
hat er höchstwahrscheinlich ein Problem mit der Zeile davor, und zwar genau an dieser Stelle: (rot markiert)
<tt>& " FROM T_Objekte" '_</tt>
Dieses Zeichen muss raus.

Dann würde ich alle Feldnamen die einen Bindestrich beinhalten in eckige Klammern setzen

[O-ENr] statt O-ENr usw.

Gruß Mikael
Steffen111
Erste Gehversuche mit VBA


Verfasst am:
22. Aug 2012, 07:32
Rufname: Steffen

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Habt vielen Dank für die Hilfe!!

@Marmeladenglas: Natürlich hast Du Recht mit der Redundanz. Nur ist hier die Tabelle T_Objekte eine Exceltabelle, die extern (nicht von mir) "gepflegt" wird.
Somit kann ich nicht sicherstellen, dass eine Objekt-ID erhalten bleibt. Confused
Und mit Hochkomma und Textkriterium etc. tappe ich leider noch weit im Dunkeln. Crying or Very sad

@Mikael: Klar mit den Feldnamen! Eigentlich habe ich mir angewöhnt die immer in eckige Klammern zu setzen, auch wenn nicht nötig.
Dann kann erkenne ich die Felder auf den ersten Blick. Hatte ich hier versäumt Embarassed

Das Hochkomma ist raus; der Code ist jetzt:
Code:
    strSQL = "INSERT INTO [T_Aktionen]([Objekt-Nr], [Objekt])" _
          & " SELECT [O-ENr], [O-Anschrift]" _
            & " FROM [T_Objekte]" _
           & " WHERE IDFeldausT_Aktionen = " & IDausT_Objekte
    DoCmd.RunSQL strSQL
Und bringt den Fehler:
Zitat:
Fehler beim Kompilieren: Variable nicht definiert
und verweist auf IDausT_Objekte

Ich vermute IDausT_Objekte soll der aktuelle Datensatz aus T_Objekte sein?
Müsste es dann nicht IDausF_Objekte heissen, denn der Datensatz ist ja in der FORM F_Objekte ausgewählt worden? (Habs Probiert - gleicher Fehler)
Noch ein Hinweis:
Die Beiden Tabellen haben kein gemeinsames Kriterium! ..keine Verknüpfung. Bei T_Objekte ist's der aktuelle und bei T_Aktionen der NEUE-Datensatz.

Grüße
Steffen
Marmeladenglas
komme zurecht


Verfasst am:
22. Aug 2012, 07:47
Rufname:

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Zitat:
& IDausT_Objekte
ist entweder eine Variable, die im Code definiert ist oder ein Steuerelement eines Formulars ( in diesem Fall sollte der Formularbezug hinzu, entweder Me. oder Forms!DeinForm.... falls das Steuerelement woanders liegt.

Beide Frage müsstest du beantworten können, insofern irritiert mich diese Anmerkung:

Zitat:
Ich vermute IDausT_Objekte soll der aktuelle Datensatz aus T_Objekte sein?
Müsste es dann nicht IDausF_Objekte heissen, denn der Datensatz ist ja in der FORM F_Objekte ausgewählt worden?
Immerhin hast du den Code geschrieben, insofern müsstest du eigentlich wissen wo IDausT_Objekte jetzt herkommt .. Wink

Zitat:
Eigentlich habe ich mir angewöhnt die immer in eckige Klammern zu setzen..
Genau das ist das Problem daran, das "eigentlich", dann doch Feldnamen lieber ohne Sonder-,Leerzeichen etc. Dann enfällt das "eigentlich" Wink
Steffen111
Erste Gehversuche mit VBA


Verfasst am:
22. Aug 2012, 09:13
Rufname: Steffen

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hallo Marmeladenglas,

Zitat:
Genau das ist das Problem daran, das "eigentlich",
...Du hast ja Recht !!! Embarassed

Zitat:
Immerhin hast du den Code geschrieben, insofern müsstest du eigentlich wissen wo IDausT_Objekte jetzt herkommt ..
Naja, Embarassed wohl eher abgeschrieben. Siehe oben
... war die "Hausnummer" von Mikael
Zitat:
Moin Moin,

nur mal als Hausnummer:
Code:
sql = "INSERT INTO T_Aktionen(Feld1, Feld2, Feld3)" _
& " SELECT Feld1, Feld2, Feld3" _
& " FROM T_Personen" _
& " WHERE IDFeldausT_Personen = " & IDausF_Personen

Gruß
Mikael

....ich lerne ja noch! Crying or Very sad

Gruß
Steffen
Marmeladenglas
komme zurecht


Verfasst am:
22. Aug 2012, 09:19
Rufname:

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

Hi,
mmh... ich kann dein Wissenstand nicht einschätzen.

Sagen dir die einzelnen Teile des SQL-Strings etwas ??
Code:
SELECT
FROM
WHERE  ?
WHERE ist ein Kriterium mit dem du Datensätze aus deiner Tabelle filterst.
Code:
" WHERE IDFeldausT_Aktionen = " & IDausT_Objekte
Hier filterst du IDFeldausT_Aktionen mit einem Wert der in IDausT_Objekte drin steht....
Idaus.. kann wie schon geschrieben ein Steuerelement oder Variable sein.

Warum hast du hier IDausT_Objekte geschrieben, wenn dir das gar nichts sagt ?
Steffen111
Erste Gehversuche mit VBA


Verfasst am:
22. Aug 2012, 10:57
Rufname: Steffen

AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

.... Sad ... ich schreibe halt ab, versuche zu verstehen und zu lernen Confused

Soweit ich weis:
SELECT nimm Felder
FROM aus Tabelle
WHERE wenn
Also müsste hinter WHERE eine Bedingung, die auf den aktuell ausgewählten Datensatz in T_Objekte (angeklickt in der FORM F_Objekte) zielt.
Richtig?
Nur mit welchem Code? Crying or Very sad
Marmeladenglas
komme zurecht


Verfasst am:
22. Aug 2012, 11:00
Rufname:


AW: Neuer Datenssatz in zweiter Tabelle - AW: Neuer Datenssatz in zweiter Tabelle

Nach oben
       Version: Office 2007

.. naja mit der Id des Objektes, die aktuell im Formular aufgerufen ist.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: datum in Tabelle nur nach Jahr & Monat filtern.....aber. 4 mirko 1236 20. Jul 2004, 12:03
mirko datum in Tabelle nur nach Jahr & Monat filtern.....aber.
Keine neuen Beiträge Access Tabellen & Abfragen: sql neue tabelle erstellen 3 Gast 1232 19. Jul 2004, 23:09
lothi sql neue tabelle erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Kreuztabellenabfrage für neue Tabelle nutzen 3 WaterMan 805 06. Jul 2004, 14:39
mabe38 Kreuztabellenabfrage für neue Tabelle nutzen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle exportieren als Excel2000 Arbeitsblatt 1 thomassch 916 06. Jul 2004, 12:46
stpimi Tabelle exportieren als Excel2000 Arbeitsblatt
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabeaufforderung für "Tabelle umbenennen" 1 DJK_2000 823 06. Jul 2004, 11:05
Gast Eingabeaufforderung für "Tabelle umbenennen"
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle mit Beziehung zu anderen Tabellen updaten - wie ? 4 miredoju 2684 15. Jun 2004, 10:24
miredoju Tabelle mit Beziehung zu anderen Tabellen updaten - wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle von Excel importieren 1 Sonnenschein 2640 15. Jun 2004, 06:57
stpimi Tabelle von Excel importieren
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle sichern 5 alfikoe 946 05. Mai 2004, 20:26
lothi Tabelle sichern
Keine neuen Beiträge Access Tabellen & Abfragen: Autowert in bestehende Tabelle 1 Gingi 729 23. Apr 2004, 11:45
mabe38 Autowert in bestehende Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: einträge aus tabelle in formular anzeigen u. speichern 1 gast 1161 25. März 2004, 09:33
Willi Wipp einträge aus tabelle in formular anzeigen u. speichern
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: JavaScript