|
Fehler 2501 beim öffnen eines Formulares
|
| Autor |
Nachricht |
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 12:33 Rufname:
|
|
| Version: Office 2007 |
|
Hallo
Schon wieder 2501? Ja!
Ich such schon seid 2 Tagen überall im Netz aber leider hab ich noch keine Lösung für mein Problem gefunden. Hoffe, dass meine Suche hier ein Ende hat
Eigentlich sollte sich im folgenden Code am Ende ein Formular öffnen, das als RecordSource die zuvor erstellte Abfrage hat (Prozedur "fQuery"). Aber leider bekomm ich den schönen Laufzeitfehler 2501 - Aktion Form Open wurde abgebrochen. Ich hab keine Ahnung wo der Fehler liegen könnte. Wahrscheinlich seh ich den Wald vor lauter Bäumen nicht.
| Code: | Private Sub ListFirmenDblClick()
On Error GoTo Err_ListFirmenDblClick
' Index des markierten Elementes in "intDCF" speichern
intDCF = Me.ListFirmen.ListIndex
' String der 1. Spalte des markierten Elementes in "strDCF" speichern
' "intDCF + 1" wegen Spaltenüberschriften der Liste
strDCF = Me.ListFirmen.ItemData(intDCF + 1)
' Abfrage für Detailansicht ausführen
fQuery
' Detailansicht öffnen
DoCmd.OpenForm "frm_Firmen"
Exit_ListFirmenDblClick:
Exit Sub
Err_ListFirmenDblClick:
If Err.Number = 2501 Then
MsgBox Err.Description, vbCritical, "Fehler# " & Err.Number
End If
Resume Exit_ListFirmenDblClick
End Sub | Wie schon gesagt, tritt der Fehler bei DoCmd.OpenForm "frm_Firmen" auf.
Kann mir jemand weiter helfen???
HuLa
|
|
Marmeladenglas
komme zurecht
Verfasst am: 06. Mai 2010, 12:44 Rufname:
|
| |
| Version: Office 2007 |
|
HI,
den interessantesten Teil, lässt du offen !
Was passiert hier ?
Warum liest du den gewählten Listeneintrag so kompliziert aus ?
Warum nicht einfach das DoCmd.OpenForm mit einem Where-Kriterium auslesen, welches du aus dem Listenfeld beziehst ?
|
|
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 12:47 Rufname:
|
|
| Version: Office 2007 |
|
Hi
Also hier noch die Prozedur "fQuery"
| Code: | Public Sub fQuery()
Dim Katalog As New ADOX.Catalog
Dim SQLcmd As ADODB.Command
Dim intFirDID As Integer
Dim strSQL As String
Str = ""
' Prüfen ob Abfrage bereits existiert
If fExistQry("QFirma") = True Then
' Wennja, Abfrage löschen
delQuery
End If
intFirDID = DLookup("fir_id", "tblFirmen", "fir_name = '" & strDCF & "'")
Katalog.ActiveConnection = CurrentProject.Connection
Set SQLcmd = New ADODB.Command
strSQL = "SELECT tblFirmen.[fir_name], tblFirmen.[fir_kuerzel]," _
& " tblFirmen.[fir_region], tblFirmen.[fir_notizen]," _
& " tblAnsprechpartner.[ans_name]," _
& " tblAnsprechpartner.[ans_vorname]," _
& " tblAnsprechpartner.[ans_titel]," _
& " tblAnsprechpartner.[ans_anrede]," _
& " tblAnsprechpartner.[ans_briefanrede]," _
& " tblAnsprechpartner.[ans_notizen]" _
& " FROM tblFirmen" _
& " INNER JOIN tblAnsprechpartner" _
& " ON tblFirmen.[fir_id] = tblAnsprechpartner.[fir_id_f]" _
& " WHERE tblFirmen.[fir_id] =" & intFirDID & ";"
' Abfrage ausführen
With SQLcmd
.CommandText = strSQL
End With
' Abfrage speichern
Katalog.Procedures.Append "QFirma", SQLcmd
Set SQLcmd = Nothing
Set Katalog = Nothing
End Sub | Warum ich die Liste so kompliziert auslese? Ich will nur drei Spalten in der Liste haben und darunter ist nicht die ID der Tabelle. Hast sonst n besseren Vorschlag?
Aber das hier ist doch nicht das Problem oder doch?
HuLa
|
|
Gast
Verfasst am: 06. Mai 2010, 12:49 Rufname:
|
|
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 12:53 Rufname:
|
| |
| Version: Office 2007 |
|
Hallo
Wo kommt der Fehler her? Keine Ahnung - Würd ich sonst fragen?
Me.ListFirmen ist die Liste auf die ich doppelt klicke
fQuery erstellt lediglich eine Abfrage, die im LoadEreignis des zu öffnenden Formulars über RecordSource eingebunden werden soll
Datenherkunft von frm_Firmen ist fQuery
Sorry, versteh die Fragen nicht ganz. Hoffe meine Antworten sind einigermaßen.
HuLa
|
|
Marmeladenglas
komme zurecht
Verfasst am: 06. Mai 2010, 13:04 Rufname:
|
|
| Version: Office 2007 |
|
Hi,
ich verstehe das ganze Vorgehen nicht.
Warum nicht einfach:
| Code: | | DoCmd.OpenForm "Firma", , , "Firma_ID = " & Me.DEineListe | Mit einer Datenherkunft:
| Code: | strSQL = "SELECT tblFirmen.[fir_name], tblFirmen.[fir_kuerzel]," _
& " tblFirmen.[fir_region], tblFirmen.[fir_notizen]," _
& " tblAnsprechpartner.[ans_name]," _
& " tblAnsprechpartner.[ans_vorname]," _
& " tblAnsprechpartner.[ans_titel]," _
& " tblAnsprechpartner.[ans_anrede]," _
& " tblAnsprechpartner.[ans_briefanrede]," _
& " tblAnsprechpartner.[ans_notizen]" _
& " FROM tblFirmen" _
& " INNER JOIN tblAnsprechpartner" _
& " ON tblFirmen.[fir_id] = tblAnsprechpartner.[fir_id_f]" |
|
|
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 13:14 Rufname:
|
|
| Version: Office 2007 |
|
Hi
Also ich versuch es mal mit Zusammenhang.
Im Formular START hab ich eine Liste. Wenn ich auf ein Element der Liste doppelt klick, möchte ich, dass das Formular "frm_Firmen" geöffnet wird. Mit den Daten zu der Firma aus der Liste.
Wenn ich die Select-Anweisung erst im Load Ereignis von "frm_Firmen" starte kommt eine Fehlermeldung das keine Datensatzherkunft angegeben ist. Diese soll ja vorher auch gar nicht angegeben sein, da sich die Auswahl der Liste immer ändert. Hoffe, dass ich nicht zu kompliziert denke... :-/
HuLa
|
|
KlausMz
Moderator Access

Verfasst am: 06. Mai 2010, 13:25 Rufname:
Wohnort: Irgendwo in der Pfalz
|
|
| Version: Office 2007 |
|
Hallo,
ohne dass ich mich jetzt mit dem ganzen Vorhaben auseinandersetze, scheint mir die Fehlerbehndlung unlogisch die Medung nur beim Fehler 2501 auszugeben. Das macht für mich keinen Sinn.
| Code: | Err_ListFirmenDblClick:
If Err.Number = 2501 Then
MsgBox Err.Description, vbCritical, "Fehler# " & Err.Number
End If
Resume Exit_ListFirmenDblClick
End Sub | Ich nehme daher einfach an da ist was verrutscht und die Fehlerbehandlung sollte eher so aussehen:
| Code: | Err_ListFirmenDblClick:
If Err.Number = 2501 Then
Resume Exit_ListFirmenDblClick
End If
MsgBox Err.Description, vbCritical, "Fehler# " & Err.Number
End Sub |
_________________ Gruß
Klaus . . . . . Der sich über Feedback freut.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
|
|
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 13:28 Rufname:
|
|
| Version: Office 2007 |
|
Hallo
Ja, da hast du recht.
Aber das löst mein Problem auch nicht.
Danke aber für den Hinweis.
HuLa
|
|
KlausMz
Moderator Access

Verfasst am: 06. Mai 2010, 13:30 Rufname:
Wohnort: Irgendwo in der Pfalz
|
|
| Version: Office 2007 |
|
Hallo,
dann darf aber der Fehler 2501 nicht mehr kommen bzw. nicht angezeigt werden.
_________________ Gruß
Klaus . . . . . Der sich über Feedback freut.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
|
|
HuLa
Einsteiger
Verfasst am: 06. Mai 2010, 14:08 Rufname:
|
| |
| Version: Office 2007 |
|
| HuLa am 06. Mai 2010 um 13:37 hat folgendes geschrieben: | Das ist richtig aber dafür wird auch das Formular nicht geöffnent.
Ich glaube, dass ich die Fehlerquelle habe ein wenig eingrenzen können. Wenn ich im Formularentwurf die Eigenschaft PopUp des Formulars auf NEIN setze, funktioniert wieder alles. Aber sobal die PopUp=Ja ist, kommt der Fehler 2501 wieder. HILFE
HuLa |
Also an alle die versucht haben mir bei meinem Problem zu helfen:
Hab das Problem gelöst. Aber ein wenig unangenehm ist mir das schon.
Wenn ich das zu öffnende Formular in der Entwurfsansicht offen lasse, dann das Start Formular starte und von dem aus das eigentliche Formular öffnen will, geht das nicht, da es ja schon in der Entwurfsansicht geöffnet ist.
Sorry nochmal für die Umstände.
Aber danke an alle.
HuLa
|
|
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 |
 |
Access Formulare: Formular in bestimmter Größe öffnen |
9 |
Zeon |
352 |
05. Feb 2010, 09:11 KlausMz  |
 |
Access Programmierung / VBA: "Verzeichnis öffnen" Dialog mit Vorgabe eines Verz |
11 |
f22145 |
5037 |
01. Dez 2009, 10:41 PapaBär  |
 |
Access Programmierung / VBA: Gespeicherte Abfrage öffnen, leider im Browser. |
1 |
Markos |
106 |
23. Nov 2009, 09:09 jens05  |
 |
Access Formulare: Focus verschieben Fehler 2110 |
4 |
STF-DIR |
236 |
17. Jul 2009, 14:46 STF-DIR  |
 |
Access Tabellen & Abfragen: Abfrage und PivotChart gleichzeitig öffnen? |
0 |
Wurzelzwerg |
112 |
04. Dez 2008, 16:18 Wurzelzwerg  |
 |
Access Programmierung / VBA: Outlook Vorlage aus Access öffnen |
0 |
lars.muc |
221 |
07. Aug 2008, 06:46 lars.muc  |
 |
Access Berichte: Bericht beim öffnen Filtern |
10 |
Eisbaer68 |
2236 |
24. März 2008, 01:02 Gast  |
 |
Access Formulare: Fehler |
1 |
mbm1968 |
643 |
23. Nov 2007, 20:29 steffen0815  |
 |
Access Programmierung / VBA: fehler in Me.Visible Funktion |
5 |
highjumper83 |
406 |
23. Nov 2007, 13:27 KlausMz  |
 |
Access Programmierung / VBA: Formular öffnen bei Kriterium im UFo |
22 |
nakoda |
1042 |
27. Okt 2007, 23:25 Willi Wipp  |
 |
Access Programmierung / VBA: Form_Open, Neuer Datensatz eintragen, Fehler |
1 |
Thy |
409 |
10. Aug 2007, 18:31 Willi Wipp  |
 |
Access Hilfe: Access-File mehrmals öffnen? |
3 |
Tazz85 |
735 |
18. Jul 2007, 19:30 KlausMz  |
| |
|