PDA

Vollständige Version anzeigen : Fehlermeldung - Sie können diesem objekt keinen wert zuweisen


balloni
27.08.2009, 08:53
Fehlermeldung - Sie können diesem objekt keinen wert zuweisen

Hallo Leute - wer weiss Rat??

Meine Backenddatenbank hat seit 2004 immer funktioniert (auch Dank Hilfe aus dem Forum;) und nun plötzlich, ohne etwas geändert zu haben kommt dieser hier:

Sie können diesem objekt keinen wert zuweisen

Hole ich die Daten vom gesavten Backend funktioniert die Buchung wie gehabt.

Wie schon erwähnt - es wurde nichts geändert am Front- oder Backend.

Wie kann ich nun feststellen was passiert ist. Gibt es eine Möglichkeit, die beiden Datenbanken zu vergleichen?? Oder wie kann ich den Fehler rausfinden.

He, jetzt schon, vielen Dank für Eure Hilfe

Balloni

didimann
27.08.2009, 09:16
hast du mal versucht die datenbank zu konvertieren und reparieren???
gruss
didi

balloni
27.08.2009, 09:25
Juph, auch probiert - nützt nichts

didimann
27.08.2009, 09:28
villeicht,solltest du dich masl in den Datenbanken "Dienstprogrammen" umsehen??da kann man doch die DB überprüfen lassen(von Access) und bekommt fehler aufgelistet.

CptChaos
27.08.2009, 09:37
Hilfreich für weitere Lösungsversuche wäre eine nähere Information wo und wie auf was zugegriffen wird und wann dabei die Fehlermeldung kommt

maikek
27.08.2009, 09:40
Tritt der Fehler nur bei einem bestimmten Datensatz auf oder generell?
Was passiert an der Stelle genau und welches Objekt ist betroffen?
Das "gesavte Backend" ist ein Backup? Lassen sich bei dem/den betroffenen Datensätzen Unterschiede zwischen den jeweiligen Backends feststellen?
maike

balloni
27.08.2009, 10:55
Also, ich versuche, dass Ganze etwas genauer zu umschreiben:

Hauptformular enthält UFormFahrten und Liste Gutscheine

Wenn ich nun die Fahrt anklicke (auswähle) und den entsprechenden Gutschein mit der rechten Maustaste anklicke, öffnet sich ein Menue mit dem Text: Gutschein 4444 auf Fahrt 6666 am 01.08.2009 buchen? (Die benötigten Daten sind also vorhanden!)

Public Function Menu2()
'On Error Resume Next
Dim Id, D As String
Id = " "
D = ""

If Not IsNull(gutscheinID.Value) Then
Id = " Nr.:" + gutscheinID.Value + " "
End If
If Not IsNull([Form_Fahrten anzeigen].FDatum.Value) Then
D = " am: " + FormatDateTime([Form_Fahrten anzeigen].FDatum.Value) + " "
End If

Dim hmenu As Long
Dim Dummy As Long
Dim CP As POINTAPI
Dim Hwnd As Long
Dim ALIGN As Long

GetCursorPos CP '/ Wie ist die Cursorposition?
Hwnd = Screen.ActiveForm.Hwnd '/ Handle auf das aktive Formular

Rem Menü erzeugen....
hmenu = CreatePopupMenu()
Dummy = AppendMenu(hmenu, MF_ENABLED, 1, "Gutschein" + Id + D + "buchen")
ALIGN = TPM_CENTERALIGN
Menu2 = TransLate(hmenu, Hwnd, CP.x, CP.Y, ALIGN)
Dummy = DestroyMenu(hmenu)
End Function

Klicke ich nun ja - dann kommt eben : Sie können diesem Objekt keinen wert zuweisen

Die Werte werden werden mit folgendem Code in das Unterformular UTermineinfos resp. in der Tabelle gebuchte Passagiere gespeichert.
Public Sub NeuesTermin()
On Error GoTo Err_NeuesTermin

' Neue Datensatz einfügen
'DoCmd.GoToRecord , , acNewRec
Me.DataEntry = True

AdressID.Value = Form_Buchen.getAdressID
FahrtID.Value = Form_Buchen.getFahrtID
gutscheinDropDown.Value = Form_Buchen.gutscheinID.Value
gutscheinDropDown.Requery
GutscheinDropChange
cmbArtDerFahrt.Requery
cmbTageszeit.Requery
disableControls (True)

Exit_NeuesTermin:
Exit Sub

Err_NeuesTermin:
MsgBox Err.Description
Resume Exit_NeuesTermin
End Sub

Private Sub gutscheine_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
On Error Resume Next

'wenn kein gutschein in der liste, die sub verlassen
If IsNull(gutscheinID.Value) Then Exit Sub
If IsNull([Form_Fahrten anzeigen].FDatum.Value) Then Exit Sub

If Button = RIGHT_BUTTON Then
Dim Response As Integer
Response = Menu2()

Select Case Response

Case 1
If Not IsNull(Me.gutscheinID.Value) And gutscheinID.Value <> "" Then
setBuchenFlag (True)
Form_UTermineInfos.setEditModus ("add")
Form_UTermineInfos.NeuesTermin
Else
MsgBox "Kein Gutschein zum buchen..."
End If

End Select
End If

End Sub

Funktioniert mit meinem Frontend und der alten Datenbank (Save) immer noch einwandfrei.

Funktioniert seit gestern mit dem gleichen Frontend aber bei der aktuellen Datenbank nicht mehr??????

Vielleicht hilft es, wenn ich die alte Datenbank mit der aktuellen DB aktualisiere. Das heisst, ich will alle Aenderungen seit dem 31.07.2009 im Save
abgleichen - nur , wie könnte ich so etwas bewerkstelligen???

Danke für weitere Tipps

balloni

Marsu65
27.08.2009, 11:16
Verschidenste Möglichkeiten findest du bei den FAQ 1.27 (http://www.donkarl.com/FAQ/FAQ1Grundlagen.htm#1.27)
Vor allem den Punkt
Erstelle eine neue MDB und versuche, die Objekte der defekten DB in diese neue MDB zu importieren. (Menü: Datei/externe Daten/Importieren)solltest du mal probieren. D.h. alle Tabellen deines Backends inkl. Beziehungen in eine Neue Datenbank importieren.

maikek
27.08.2009, 11:33
Is jetzt mehr so ein Schuss ins Blaue:
Kannst du per Hand Daten in das Ufo eingeben?
Sind irgendwelche AutowertIDs in der Tabelle, die komisch aussehen?
maike

balloni
27.08.2009, 11:54
Insofern bin ich nun etwas weiter gekommen - der Bock liegt definitiv in der Tabelle: "Fahrten"

Juph, wenn wir schon dabei sind - das war gestern noch ein Datensatz drin, bei dem alle Felder (oder praktisch alle? weiss nicht mehr) mit ######### gefüllt waren. diesen Datensatz habe ich einfach gelöscht - liegt das Problem etwa hier und gibt es eine Möglichkeit, die Tabelle zu reparieren?

2. Frage - grosse Frage: Wie kann ich die alte Fahrtentabelle mit den Fahrten in der defekten Fahrtentabelle, die seit dem letzten Save hinzugekommen sind, ergänzen resp. updaten, wobei die ID's und natürlich alle getätigten Aenderungen seit dem 31.07. übernommen werden müssen?

Gruss
balloni

balloni
27.08.2009, 15:02
Hallo wer kann mir bitte nochmals helfen

Wie kann ich die Tabelle Fahrten reparieren - oder - den Save vom 31.07 mit der defekten Tabelle (öffnen kann ich die ja und da sind auch alle aktuellen Aenderung seit dem 31.07. enthalten) vergleichen resp ergänzen.

Dnake danke Danke

Gruss

balloni

maikek
27.08.2009, 16:30
Hi,
soweit ich das aus der Ferne beurteilen kann, würde ich empfehlen, auf jeden Fall mit dem Backup weiterzuarbeiten. Möglicherweise ist beim aktuellen Backend irgendwas an den Systemtabellen im Eimer (Verwaltung der Autowerte etc.).
Sind das nur Daten in der Tabelle Fahrten? Oder sind noch Datensätze in anderen Tabellen zu aktualisieren/ergänzen? Wie du die DS rausfindest, mit Hilfe von Schlüsselfeldern, Datumsfeldern etc. das wirst du selbst am besten wissen.
Ich würde sicherheitshalber alle Datensätze/betroffenen Tabellen als .csv Datei exportieren und diese Daten dann ins Backup importieren. Vielleicht in temporäre Tabellen, die dann für Aktualisierungs- und Anfügeabfragen genutzt werden können. Vorsicht bei der Rekonstruktion von Verknüpfungen mit Primärschlüssel Autowert -> Fremdschlüssel Zahl.

maike

balloni
27.08.2009, 17:04
Hi Maike

Nur fehlen mir dann halt die aktuellen Daten - und die sind WICHTIG!!

Ich habe auch versucht via Anfügeabfrage die neuen Datensätze aus "FAHRTEN" der Backuptabelle "FAHRTEN" vom 31.07 anzufügen
und dann via Aktualisierungsabfrage zu aktualisieren - funzt aber trotzdem nicht. (Verzweiflung!!!!)

Wie kann ich das verzwickte Ding retten (geht ja gar nichts mehr bei uns ohne)

Gruss

balloni

maikek
27.08.2009, 17:16
Nur fehlen mir dann halt die aktuellen Daten - und die sind WICHTIG!!
Immer ruhig bleiben. Wieso fehlen dann die aktuellen Daten? Hab ich doch geschrieben, wie ich das machen würde: exportieren aus dem kaputten Backend, importieren ins Backup.
Ich habe auch versucht via Anfügeabfrage die neuen Datensätze aus "FAHRTEN" der Backuptabelle "FAHRTEN" vom 31.07 anzufügen
und dann via Aktualisierungsabfrage zu aktualisieren - funzt aber trotzdem nicht. (Verzweiflung!!!!)
Was funzt nicht :rolleyes: ? Das Anfügen? das Aktualisieren? Hast du an die eventuellen verknüpften Datensätze in anderen Tabellen gedacht? ...
maike

balloni
27.08.2009, 18:08
komme gleich wieder - erst mal was futtern:p

Marsu65
27.08.2009, 20:08
Hallo wer kann mir bitte nochmals helfen
Bevor du erneute Hilfe suchst, könntest du die dir aufgezeigte annehmen!
Hast du #8 ausprobiert?

BTW: Wie Maike schon bemerkte, ist "funzt aber trotzdem nicht" eine inhaltslose und somit ziemlich überflüssige Problembeschreibung

balloni
27.08.2009, 23:49
Endlich geschafft - es funktioniert wieder !!!!!
Der Weg mit neue DB und importieren war schon der richtige, erstaundlicherweise - geklappt hat's erst beim 4 oder 5. Versuch ???? Bei den vorherigen Versuchen ist die "Kiste" (Access) hängengeblieben (oder hat nur so getan?)
Zudem habe ich noch nie eine Anfüge- und schon gar keine Aktualisierungsabfrage gebaut - all meine heiligen Daten - puhhhh:p :p :p

Auf jeden Fall - es funktioniert wieder und daher auch viiiiielen Dank an alle;) ;) ;)

Fazit - nächstes Thema: wie kann ich das Backend täglich automatisiert saven??

Gruss

balloni

maikek
28.08.2009, 09:26
Na, das Danke geht aber auch an Marsu ;)!
Backend saven - am besten ein richtiges Backup. Wir haben hier für unsere Arbeitsdatenbanken Acronis, für meine lokalen Programmierkünste nehme ich TrayBackup (FreeWare).
maike