Wert aus Public Sub an ein bestimmtes Formularfeld übergeben

16/11/2008 - 17:32 von Marion Hildebrandt | Report spam
Hallo zusammen,
ich rufe aus einem Formularmodul eine Public Sub (LinkFile ) eines
Standardmoduls und übergebe folgende Parameter:
Private Sub txtLinkFile_DblClick(Cancel As Integer)
LinkFile Nz(Me.PADateipfad), Me.IDPostAusgang, Forms!Postausgang …
End Sub

In der Public Sub LinkFile (strFile As String, inID As Integer, F As
Form, …) wird der Inhalt der Formularfeldes PADateipfad ausgewertet. Ist der
Inhalt von PADateipfad ein existierender Dateipfad wird die Anwendung
geöffnet. Ist das Feld PADateipfad aber leer, wird ein Dateipfad erstellt ,
die zu verknüpfende Datei erhàlt einen bestimmten Namen und wird in einen
vorgeschriebenen Ordner kopiert . Das funktioniert alles wunderbar.
Am Ende der Public Sub enthàlt nun die Variable strFilepathNew (deklariert:
Dim strFilepathNew as String) den neuen Dateipfad der verknüpften Datei. Den
Inhalt dieser Variablen strFilepathNew möchte ich nun an das Formularfeld
PADateipfad übergeben.
So etwa: F.Form!strFile.Value = strFilepathNew , das klappt natürlich
nicht, weil das Feld strFile im Formular nicht zu finden ist.
Deswegen habe ich die Parameter wie folgt übergeben:

Private Sub txtLinkFile_DblClick(Cancel As Integer)
LinkFile Nz(Me.PADateipfad), PADateipfad, Me.IDPostAusgang,
Forms!Postausgang …
End Sub

Public Sub LinkFile (strFile As String, fldFile as Field, inID As Integer, F
As Form, …)
….
F.Form!fldFile.Value = strFilepathNew
….
End Sub

Aber jetzt erhalte ich die Fehlermeldung: „Typen unvertràglich“. Ich könnte
natürlich den Inhalt von strFilepathNew über einen sqlString direkt in das
Tabellefeld PADateipfad einfügen, aber das muss doch auch einfacher gehen.
Ich habe hier ein Variablentypenproblem. Wer kann bitte bei der Lösung helfen?

Viele Grüße aus Hamburg
Marion
 

Lesen sie die antworten

#1 Gunter Avenius
16/11/2008 - 17:51 | Warnen spam
Hallo Marion,

Marion Hildebrandt schrieb folgendes:
ich rufe aus einem Formularmodul eine Public Sub (LinkFile ) eines
Standardmoduls und übergebe folgende Parameter:
Private Sub txtLinkFile_DblClick(Cancel As Integer)
LinkFile Nz(Me.PADateipfad), Me.IDPostAusgang, Forms!Postausgang …
End Sub

In der Public Sub LinkFile (strFile As String, inID As Integer, F As
Form, …) wird der Inhalt der Formularfeldes PADateipfad ausgewertet. Ist der
Inhalt von PADateipfad ein existierender Dateipfad wird die Anwendung
geöffnet. Ist das Feld PADateipfad aber leer, wird ein Dateipfad erstellt ,
die zu verknüpfende Datei erhàlt einen bestimmten Namen und wird in einen
vorgeschriebenen Ordner kopiert . Das funktioniert alles wunderbar.
Am Ende der Public Sub enthàlt nun die Variable strFilepathNew (deklariert:
Dim strFilepathNew as String) den neuen Dateipfad der verknüpften Datei. Den
Inhalt dieser Variablen strFilepathNew möchte ich nun an das Formularfeld
PADateipfad übergeben.
So etwa: F.Form!strFile.Value = strFilepathNew , das klappt natürlich
nicht, weil das Feld strFile im Formular nicht zu finden ist.


Deswegen habe ich die Parameter wie folgt übergeben:

Private Sub txtLinkFile_DblClick(Cancel As Integer)
LinkFile Nz(Me.PADateipfad), PADateipfad, Me.IDPostAusgang,
Forms!Postausgang …
End Sub

Public Sub LinkFile (strFile As String, fldFile as Field, inID As Integer, F
As Form, …)
….
F.Form!fldFile.Value = strFilepathNew
….
End Sub

Aber jetzt erhalte ich die Fehlermeldung: „Typen unvertràglich“. Ich könnte
natürlich den Inhalt von strFilepathNew über einen sqlString direkt in das
Tabellefeld PADateipfad einfügen, aber das muss doch auch einfacher gehen.
Ich habe hier ein Variablentypenproblem. Wer kann bitte bei der Lösung helfen?



Warum eine Sub und keine Function?

Public Function LinkFile (strFile As String, fldFile as Field, inID As
Integer, F As Form, …) as string
….
LinkFile = strFilepathNew
End Sub


und dann:

Private Sub txtLinkFile_DblClick(Cancel As Integer)
me!PADateipfad = LinkFile Nz(Me.PADateipfad), Me.IDPostAusgang,
Forms!Postausgang
End Sub

Gruß
Gunter
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de

Ähnliche fragen