Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Replikat führt VBA nicht vollständig aus
Gehe zu Seite 1, 2  Weiter
zurück: Datensatz über Kombinationsfeld filtern weiter: mal wieder TransferSpreadsheet Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
08. Sep 2011, 15:06
Rufname:

Replikat führt VBA nicht vollständig aus - Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hallo,

meine DB habe ich heute in einen Designmaster umgewandelt und ein Replikat erstellt. In dem Replikat sind auch alle codes enthalten aus den Designmaster, nur leider führen sich die Code nicht vollständig aus.
Code:
Function Import_manual_input()
 On Error GoTo fnc_Err
    Dim strFileName As String, lngID As Long
   
    strFileName = "C:\MDF-Database\Manual input.xlsm"
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _
                              "6_General_data_press", strFileName, True, "General data!"
    lngID = DLast("Project_No_press", "6_General_data_press")
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _
                              "6_Press_values", strFileName, True, "Copy!"
    CurrentDb.Execute "UPDATE 6_Press_values" _
                      & " SET Project_No_press = " & lngID _
                    & " WHERE Project_No_press Is Null", 128
   
fnc_Exit:
    Exit Function
fnc_Err:
    MsgBox Error$
    Resume fnc_Exit
End Function
Der erste Import läuft wunderbar, der zweite klappt zwar, aber die Project_No_press wird nicht an die importierten Datensätze der Tab. 6_Press_values angefügt. Warum bitte macht es das nicht? Ich habe schon gesucht und gesucht, aber nix gefunden. Hat einer von Euch ne Idee oder sogar die Lösung?
Noch zur Info, ich arbeite mit Access 2010 und die DB ist in Access 2003. (falls das ne Rolle spielt)

MfG
MissPh!
Office-VBA-Programmiererin


Verfasst am:
08. Sep 2011, 17:48
Rufname:
Wohnort: NRW


AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hallo,

was für einen Datentyp hat denn "Project_No_press"? Soweit ich weiß gibt es in Replikaten keine Autowerte mehr, das Auslesen der letzten ID in eine Variable vom Typ Long könnte daher wohl schief gehen.

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 07:18
Rufname:

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Guten Morgen MissPh!,

in dem Replikat habe ich das Feld Project_No_press als Autowert mit der Feldgröße Long Integer!
Wie kann ich jetzt diesen Code bzw. Codes dennoch ausführen?

Gruß
Thomas
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 09:09
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hi,

teste den Code im Unterbrechungsmodus und stelle fest, welche ID vergeben wurde bzw. warum das Update fehl schlägt.

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 09:32
Rufname:


AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hi,
mir ist eben aufgefallen, wenn ich den Designmaster erstelle, dann kommt folgende Meldung: Die Datenbank kann nicht geöffnet werden, weil das darin enthaltene Projekt nicht gelesen werden kann. Die Datenbank kann nur gelöscht werden, wenn das VBA Projekt vorher gelöscht wird. ....
Also ich weiß nicht ob das jetzt auch n Grund dafür ist.

Ähm Unterbrechnungsmodus ist den Code mit F8 abfahren oder? Mir zeigt es da keine Störungen. Wenn ich mit der Maus auf lngID gehe, zeigt es mir "lng = 0" an.
Ich habe jetzt n Haltepunkt gesetzt in der Zeile lngID = DLast("Project_No_press", "6_General_data_press")
für lngID wird dann 155 angegeben. Und tatsächlich, der Code führt sich aus, aber nimmt immer die Project_No_press 155 und fügt da alle Daten ran, ob wohl er die Zufallszahl nehmen sollte.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 09:53
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hallo,

DLast halte ich nicht für zuverlässig, DMax wäre wohl geeigneter bei einem Autowert.
Wird denn jeweils nur ein Datensatz bei dem Import in "6_General_data_press" eingefügt?

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 09:58
Rufname:

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hi,

in "6 General data press" wird immer nur ein DS eingefügt. Wenn ich auf DMax stelle, dann wird aber nicht immer die richtige Project_No_press benutzt. Da das Replikat die Project_No_press als Zufallswert vergibt und somit auch negative Werte annimmt.
Oder irre ich mich im Umgang mit DLast und DMax?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 11:12
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hi,

dann wäre dies evtl. die Lösung für dich:
Zitat:
Den letzten Autowert nach einem Insert ermitteln:
Code:
lngID = CurrentDB.OpenRecordset("Select @@Identity From tabelle")(0)

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 11:56
Rufname:

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Gast am 09. Sep 2011 um 11:16 hat folgendes geschrieben:
Hi vielen Dank für den Code,

aber könntest du ihn mir vielleicht in die Zeile schreiben, weil ich leider keine Ahnung von VBA habe. Oder vielleicht erklärts du es mir kurz!?

Gruß

Habe mal versucht das ins laufen zu bekommen.
meine zeile lautet
Code:
    lngID = CurrentDb.OpenRecordset("SELECT @@Identity" _
                                   & " FROM 6_General_data_press")(0)
wenn ich den code fahre, bekomme ich ne fehlermeldung. "Der Datensatz kann nichzt hinzugefügt oder geändert werden, da ein Datensatz in der Tab. 6_General_data_press mit diesem Datensatz in Beziehung stehen muss.
In dem Code sehe ich, dass der Fehler von der Zeile kommen muss.
Code:
    CurrentDb.Execute "UPDATE 6_Press_values" _
                      & " SET Project_No_press = " & lngID _
                    & " WHERE Project_No_press Is Null", 128
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 12:31
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Nachtrag:
Dafür müsstest du aber wohl den Import in eine temp. Tabelle vornehmen, um den Datensatz mit einer Anfügeabfrage übernehmen zu können.
Ich glaube nicht, dass das nach TransferSpreadsheet funktioniert.
Code:
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97 _
                            , "tmp_6_General_data_press", strFileName, True _
                            , "Generaldata!"
    strSQL = "INSERT INTO 6_General_data_press" _
               & " SELECT * FROM tmp_6_General_data_press"
    CurrentDb.Execute strSQL, 128
    lngID = CurrentDb.OpenRecordset("SELECT @@Identity" _
                                   & " FROM 6_General_data_press")(0)
Bei bestehender Beziehung zwischen den beiden Tabellen, kann das aber doch gar nicht funktionieren, da der zweite Import bereits fehlschlagen sollte.
Es sei denn, die Spalte ist beim Import leer und der Index lässt Nullwerte zu.
Zitat:
da ein Datensatz in der Tab. 6_General_data_press mit diesem Datensatz in Beziehung stehen muss
Was das betrifft, so stelle doch bitte fest, welchen Wert lngID hat und ob er korrekt ist.
_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 13:34
Rufname:

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Gast am 09. Sep 2011 um 13:31 hat folgendes geschrieben:
Hi,

ich habe deinen code in das replikat eingesetzt und es läuft auch wunderbar. Danke. Nur wenn ich den code in meine DB einsetzte und anschließend ein replikat und designmaster erzeuge und im dem replikat versuche den code auszuführend erscheint die meldung: Sie können das Replikationsobjekt 's_ColLineage' nichtz ändern.
Super wäre wenn ich eine fertige DB erzeuge und von der replikate zieh, die dann ebensfalls so wie die ursprüngliche DB laufen.

Ach ja habe vergessen wo der Fehler wohl herkommt
Code:
    CurrentDb.Execute strSql, 128
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 14:03
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Ich habe keine Erfahrung mit Replikation, denke aber, dass man ausschließlich am Original bzw. Design Master ändern sollte.

Besser wäre es wohl auch in jedem Fall, die Anwendung in Frontend und Backend aufzuteilen, dann bezieht sich die Replikation ausschließlich auf den Datenteil.

_________________
Gruß MissPh!
Gast



Verfasst am:
09. Sep 2011, 20:30
Rufname:

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Die Datenbank wir mehr extern genutzt und nicht online, deshalb macht als FE oder BE keinen Sinn in meinem Falle. Deshalb brauche ich umbedingt die Fkt. als Replikat und co.
Hättest du noch einen anderen Tipp für mich?
Gruß
Thomas
MissPh!
Office-VBA-Programmiererin


Verfasst am:
09. Sep 2011, 21:39
Rufname:
Wohnort: NRW

AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hallo Thomas,

Frontend- und Backend-Aufteilung macht immer einen Sinn.
Repliziert wird dann natürlich nur das Backend, das heißt du hast im Frontend freie Hand bzgl. Änderungen und Erweiterungen.

_________________
Gruß MissPh!
Gast



Verfasst am:
13. Sep 2011, 16:21
Rufname:


AW: Replikat führt VBA nicht vollständig aus - AW: Replikat führt VBA nicht vollständig aus

Nach oben
       Version: Office 2003

Hi MissPh!

leider ist es bei mir der Fall, das Leute mit der DB längere Zeit offline arbeiten müssen und daher nichts von FE oder BE haben. Sie müssen Daten offline einpflegen und diese dann später an die anderen Anwender verteilen. Da fällt mir leider nur die Replikationsfunktion ein. Oder halt SharePoint was aber mit Kosten verbunden ist.

Gruß
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: union abfrage führt zu "zu viele felder definiert" 5 andibest 3786 28. März 2014, 15:55
Marmeladenglas union abfrage führt zu "zu viele felder definiert"
Keine neuen Beiträge Access Berichte: VBA Code im Bericht führt nicht zum Ergebnis, #Typ! 7 Sascha89 106 17. Feb 2014, 20:56
MissPh! VBA Code im Bericht führt nicht zum Ergebnis, #Typ!
Keine neuen Beiträge Access Hilfe: ODBC Wechsel führt zu fehlerhaften Daten 6 StefanKoe 101 04. Jul 2013, 13:25
StefanKoe ODBC Wechsel führt zu fehlerhaften Daten
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage nicht vollständig 3 kxp 94 24. Jan 2013, 12:54
Nouba Access Abfrage nicht vollständig
Keine neuen Beiträge Access Formulare: Filtern im Formular mit ADO-Recordset führt zu Absturz 0 Gschaftlhuaba 610 06. Mai 2011, 11:55
Gschaftlhuaba Filtern im Formular mit ADO-Recordset führt zu Absturz
Keine neuen Beiträge Access Hilfe: Befehlsschaltfläche führt Makro nicht aus 7 Kathrin206 806 02. Aug 2010, 09:35
Gast Befehlsschaltfläche führt Makro nicht aus
Keine neuen Beiträge Access Hilfe: Hilfe! Replikat wird bei Aktualisierung zu groß 1 hornetrider 295 02. Jun 2010, 16:56
hornetrider Hilfe! Replikat wird bei Aktualisierung zu groß
Keine neuen Beiträge Access Programmierung / VBA: Docmd.Openform führt Form_Open 2x aus 2 Heini_net 1104 08. Okt 2009, 20:10
Heini_net Docmd.Openform führt Form_Open 2x aus
Keine neuen Beiträge Access Berichte: Unterberichte werden nicht vollständig angezeigt 2 404Error 1221 06. Okt 2009, 12:58
404Error Unterberichte werden nicht vollständig angezeigt
Keine neuen Beiträge Access Programmierung / VBA: import txt-Datei nicht vollständig 7 Gast 397 17. Sep 2009, 12:42
Gast import txt-Datei nicht vollständig
Keine neuen Beiträge Access Programmierung / VBA: Index erstellen führt zu Laufzeitfehler 3409 3 stoffel0815 914 03. Aug 2009, 22:15
MissPh! Index erstellen führt zu Laufzeitfehler 3409
Keine neuen Beiträge Access Hilfe: Euro-Format in einer Abfrage führt zu "Datensatz gelösc 3 Landy 294 18. März 2009, 06:36
Willi Wipp Euro-Format in einer Abfrage führt zu "Datensatz gelösc
 

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