Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

mehrere Datensätze aus Abfrage per Code ans ende einer Tabelle kopieren

Begonnen von bmwoholic, Oktober 21, 2014, 14:12:47

⏪ vorheriges - nächstes ⏩

MaggieMay

#15
Gibt es denn noch weitere Indizes in der Tabelle? Die Meldung kommt ja nicht ohne Grund...

Nachtrag:
ZitatDie Nummer welche oben im Code ist, wird nur beispielhaft direkt gesetzt, natürlich ist dies eine Variable
Es sollte "natürlich" sein, dass du hier den Original-Code zeigst, oder tritt der Fehler auch bei deinem Testbeispiel auf?
Freundliche Grüße
MaggieMay

bmwoholic

#16
Nein, das ist das einzige. Hab nochmal nachgeschaut


Edit: Sorry, hab den unteren part übersehen. Ich arbeite gerade nur im Testbeispiel. Der Wert der hier eingefügt wird ist einfach eine 4-stellige Zahl. Also das ist autentisch. Der code kann 1:1 eingestzt werden mit Ausnahme das die Beiden Variablen aus nem Feld eingelesen werden und per Variable in die Prozedur übergeben werden wenn diese mal funktionier (hoffe ich).

MaggieMay

Ich weiß langsam nicht mehr, was es noch sein könnte, daher dieser leicht "verzweifelte" Versuch:
Zitat von: bmwoholic am Oktober 23, 2014, 13:25:59Also meine Tabelle hat folgende Inhalte:
BlockNr - Long
Dys_Name - String
Durchläufe - Long
BlockCnt - Long
StufeNr - Long
Nummer - Long
ID_Programme - Autowert (Primärschlüssel)
Das passt aber nicht zu dem zuletzt von dir gezeigten Code:
Zitat von: bmwoholic am Oktober 23, 2014, 06:59:23
    strSQL = "Insert Into Programme ([BlockNr], [color=red][Profilname][/color], [Durchläufe], [BlockCnt], [StufeNr], [Nummer]) " & _
            "Select [BlockNr], [Profilname], [Durchläufe], [BlockCnt], [StufeNr], " & Nummer_neu & _
            "From A_Erprobungsparameter_Programme_Basis " & _
            "Where [Nummer] = " & nummer_alt
Freundliche Grüße
MaggieMay

bmwoholic

#18
das ist richtig - den Fehler hatte ich Anfangs drin - das war einer der Variablenfehler. Der ist im letzten code auch korrigiert.
Allerdings ist mir dabei gerade aufgefallen, das Dys-Namen ein Dropdownfeld ist mit bezug auf Primärschlüssel einer anderen Liste. wäre das vielleicht ein Problem?
Ich weiss nicht wieso mir das vorhin nicht aufgefallen ist, da ich ja schon 10 mal drüber geschaut hab - aber Dys-Namen ist indiziert und Duplikate möglich.

ich habe mal ne kleine db angehängt wo die zwei notwendigen Tabellen und der Code enthalten sind. Allerdings habe ich die Datensätze auf ein paar wenige reduzieren müssen wegen der Dateigröße (und Datenschutz). Hoffe das hilft bei der Fehlersuche. Danke euch allen für die kräftige Unterstützung nochmal!

bahasu

Hi,

fehlt nicht ein Leerzeichen vor "From"?

    strSQL = "Insert Into Programme ([BlockNr], [Profilname], [Durchläufe], [BlockCnt], [StufeNr], [Nummer]) " & _
            "Select [BlockNr], [Profilname], [Durchläufe], [BlockCnt], [StufeNr], " & Nummer_neu & _
            "From A_Erprobungsparameter_Programme_Basis " & _
            "Where [Nummer] = " & nummer_alt

Harald
Servus

bmwoholic

siehe Anhang im letzten Beitrag, ist der Leerraum schon eingefügt. - das war es leider nicht2  :-\

DF6GL

Hallo,

"Dys-Namen ein Dropdownfeld ist mit bezug auf Primärschlüssel einer anderen Liste. wäre das vielleicht ein Problem?"

Das IST ein Problem, wenngleich es auch nicht die Ursache für den gemeldeten Fehler sein muss. Zudem passen in diesem Fall die Datentypen nicht überein.

Um die ganze Rätselraterei abzukürzen: Lad die DB hier mal hoch (komprimiert/repariert und gezippt, evtl. auf ein paar konsistente Daten reduziert)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

bmwoholic

#22
Die GANZE datei kann ich leider nicht hochladen - weil ich das aus Datenschutzgründen nicht darf. Dadurch diese zwei Tabellen WIRKLICH autonom sind und keinerlei Verbindung haben mit etwas anderem wärede das auch irrelevant. Die "test.mdb" ist ein wenig weiter oben bereits angehängt und entspricht bis auf die Anzahl der Datensätze genau dem was in meiner Datenbank auch benutzt wird. Aufgrund des Datenschutzes habe ich die Inhalte der Dys-Namen "Beschreibung" gelöscht, das sollte aber nichts weiter zur Sache tun.
Also die oben angehängte Datei hat einfach mal 60 Tabellen, 80 Abfragen und einige Tausend Datensätze weniger. Alles was sonst irgendwie in Verbindung zu dieser Tabelle steht ist drin! Sprich: Tabelle Programme  und Dys-Namen, sowie der Code. ansonsten wird Ausschliesslich über ein Formular mit dem gefilterten Datensatz gearbeitet, welches jedoch zum Zeitpunkt des Kopiervorgangs nicht geöffnet ist!

MaggieMay

#23
Hi,

dann zeig doch wenigstens noch den Code der Abfrage "A_Erprobungsparameter_Programme_Basis", damit man sich ein Bild machen kann, wozu sie dient und was darin passiert.

PS:
Es macht eigentlich keinen Sinn, eine Test-DB hochzuladen, mit der der Fehler nicht reproduziert werden kann. Etwas wesentliches ist also an deiner DB anders - was, das kannst nur du wissen.

Die ganzen Zahlenfelder stehen doch sicherlich in Beziehung zu anderen Tabellen, das könnte bspw. ein Punkt sein, wo es Probleme gibt.
Freundliche Grüße
MaggieMay

bmwoholic

Tut mir leid mit der Abfrage. Die ist untergegangen.

Ich würde ja gerne die DB ins netz stellen, aber das geht leider nicht. ich arbeite für ein großes Unternehmen, dessen Daten blöderweise der Geheimhaltung unterliegen. Ausserdem ist die Datenbank so komplex das man da ne  Stunde braucht um überhaupt zu verstehen was wo wie geht. Wie bereits oben beschrieben ist dieser Teil autonom. Es geht um die Verwaltung von Versuchen. Vieles Teile der Datenbank haben archiv-charakter und in diesem Speziellen Teil geht es um die Versuchsbeschreibung zu einem Versuch. Der Versuch hat eine ID, wenn sich wenige Parameter des Versuches ändern, muss bereits ein neues Dokumentationsblatt erstellen welches ausgedruckt am Prüfstand liegt. Dadurch das der Großteil identisch bleibt, ist es sinnvoll diese Dinge einfach zu kopieren. Durch dieses Vorgehen ist allerdings reproduzierbar, wann was mit dem Versuchsträger angestellt wurde, wo er erprobt wurde und mit welchen Parametern, da dieses Blatt jederzeit erneut generiert werden kann. Die Daten die hier eingegeben werden, werden zu späterem Zeitpunkt mittels Abfrage in einem Bericht ausgedruckt. Wie bereits oben gesagt ist es ansonsten nicht in Verbindung der restlichen Datensätze. Zu meinem Glück. ansonsten könnte ich das gar nicht aus den Anderen Tabellen ausklammern um euch das zu präsentieren.

Ich entschuldige mich das es etwas kompliziert ist in diesem Fall, bin auch kein Anfänger mehr, aber ich komme einfach nicht weiter und es liegt mir sehr am Herzen dieses Problem zu lösen. Sitze bereits seit über einer Woche daran und alles was ich probiere klappt nicht.

Das schlimme ist, das du anscheinend recht hast, da ich soeben in genau der Testdatenbank den Code nochmal probiert habe. und hier läuft er  :'(
Ich versteh die Welt nicht mehr.

bmwoholic

Noch als Nachtrag.

Nochmal herzlichen Dank für eure Hilfe. Ihr hattet Recht das es irgendwie an der Datenbank liegen muss. Dadurch das ich jetzt festgestellt habe das die Testdatei läuft, hab ich nochmal die einzelnen Tabellen in meine Datenbank zurückkopiert (Testdatei ist MDB, bei mir ACCDB - Vielleicht ist da irgendwas beim speichern wieder hingebogen worden)
Sobald die Tabelle Programme aus der MDB wieder zurückkopiert wurde, geht der Code. habe somit die 5500 Datensätze wieder reinkopiert und ausprobiert. Jetzt läuft der Code. Danke nochmal. Echt ein tolles Forum.

Gruß as Bayern
Danijel

MaggieMay

Freundliche Grüße
MaggieMay