Access VBA Errechnete Daten aus Modul ins Formular übertragen

Hallo Zusammen
Ich habe in einem Modul daten („FEV1“) errechnet. Das Ergebnis soll im Formular/tabelle „lufu_Exp“ übertragen werden.
Frage wie sieht der VBA Code in Access 2003 aus?
ist betimmt ganz einfach habe es nur vergessen.
Vielen Dank im Voraus
Manfred

Wenn du in einem Modul Daten errechnet hast, wirst du diese ja wahrscheinlich in eine Variable geschrieben haben. Dann brauchst du doch nur diese Variable an das
Formularfeld übergeben:

Form_Formularname.Formularfeld = Variable

Gruß
Stephan

Hallo Manfred,

ich bin leider nur ein selve made programmier. leider kann ich dir diesbezüglich nicht weiter helfen… schade.

Gruß
Hubert

Danke Stephan
es funktioniert aber leider nicht.
FEV1_berechnet = 67.25 ’ das ist der errechnete Wert in der Variable
der Formularname Frm_LUFU_EXP1
der Formularfeld: FEV1berechnet
wie ist die Syntax richtig
Form_Formularname.Formularfeld = Variable

Form_Frm_LUFU_EXP1.FEV1berechnet = FEV1_berechnet

Gruß
Manfred

Trotz dem Danke

Hallo,

Form_Frm_LUFU_EXP1.FEV1berechnet = FEV1_berechnet

sofern FEV1_berechnet deine Variable ist?

Ist gibt aber auch mehrere Möglichkeiten der Übergabe,
das kommt auch darauf an wie du dein Modul ausführst.
Wird es durch einen Button in dem Formular ausgeführt.
Vielleicht solltest du die Variable FEV1_berechnet einfach zu einer Public Variable machen, dann ist sie
von jedem Formular einlesbar.
Also die Variablen Deklarierung nicht in der Funktion im
Modul, sondern ausserhalb der Funktion irgendwo oben im Modul. So:

Public FEV1_berechnet As Double

Gruss Stephan

Hallo Manfred,
ich hab z.Zt. nur Access 2000, ich hoffe, der Code gilt für 2003 immer noch:

Public Function test()
Dim dbs As Database
Dim rs As Recordset
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset(„SELECT * FROM Table1“)
If rs.RecordCount > 0 Then
rs.AddNew
rs![Field1] = „123“
rs![Field2] = „abc“
rs.Update
End If
rs.Close

End Function

Gruß, Johanna

Hallo stephn habe ich auch schon versucht.
hier der Code aus dem Modul Start.

Option Compare Database
Option Explicit
Public FEV1_berechnet As Double

'------------------------------------------------------------
’ Start

'------------------------------------------------------------
Function Start()
On Error GoTo Start_Err

’ Nein Start
DoCmd.Echo False, „Start“
’ Nein
DoCmd.SetWarnings False

'von BTK_LUFU_EXP nach LUFU_EXP1
DoCmd.CopyObject „“, „LUFU_EXP1“, acTable, „BTK_LUFU_EXP“

'**************** in einem anderen Modul errechneter Wert ***********************
FEV1_berechnet = 67.25
'--------------------------------------------------------------------------------
'— Wert (in das Formular Frm_LUFU_EXP1 bezieht sich auf die Tabelle „LUFU_EXP1“ Feld FEV1berechnet) eintragen -------

Form_Frm_LUFU_EXP1.FEV1berechnet = FEV1_berechnet

'-----------------------------------------------------------------------------
'Nach Abschluß der Aktion stehen die Daten in der Tabelle,
'aber Access zeigt einen blauen Bildschirm hat sich aufgehängt.

Start_Exit:
Exit Function

Start_Err:
MsgBox Error$
Resume Start_Exit

End Function

Vieleicht erkennts Du die Fehler Ursache blauen Bildschirm und das sich Access aufgehängt hat.
Gruß
Manfred

Hallo,

so würde ich es machen:
Das steht in deinem Modul Start:
(das muß raus DoCmd.Echo False, „Start“)

Option Compare Database
Option Explicit
Public FEV1_berechnet As Double

'------------------------------------------------------------
’ Start

'------------------------------------------------------------
Function Start()
On Error GoTo Start_Err

’ Nein Start
’ Nein
DoCmd.SetWarnings False

'von BTK_LUFU_EXP nach LUFU_EXP1
DoCmd.CopyObject „“, „LUFU_EXP1“, acTable, „BTK_LUFU_EXP“

'**************** in einem anderen Modul errechneter Wert
***********************
FEV1_berechnet = 67.25
'--------------------------------------------------------------------------------
'— Wert (in das Formular Frm_LUFU_EXP1 bezieht sich auf die
Tabelle „LUFU_EXP1“ Feld FEV1berechnet) eintragen -------

'-----------------------------------------------------------------------------
'Nach Abschluß der Aktion stehen die Daten in der Tabelle,
'aber Access zeigt einen blauen Bildschirm hat sich
aufgehängt.

Start_Exit:
Exit Function

Start_Err:
MsgBox Error$
Resume Start_Exit

End Function

Dann steht in deinem Formular mit deinem Feld ein
Button mit dem Namen starteStart ein Prozedur
BeimKlicken: Das sieht dann so aus:

Private Sub starteStart_Click()
Start.Start
Form_Frm_LUFU_EXP1.FEV1berechnet = FEV1_berechnet
End Sub

Dann geht alles.

Gruß Stephan

Hallo Johanna,
der Code hift mir schon weiter, nur sollen die Daten in den 1.Datensatz In der Tabelle gibt es nur einen Datensatz geschrieben werden.
mit rs.AddNew wird ein neuer Datensatz erzeugt.

Kann Du die o.a. Funktion so aendern, daß sich
rs![Field1] und rs![Field2] nur den 1.Datensatz ändern.
Ich bin daran gescheitert.

Gruß
Manfred

Hi Manfred,
probier’s mal statt dem rs.AddNew mit rs.Edit , damit bearbeitest Du den Datensatz, auf dem der Cursor gerade steht.
Falls Du erst einen bestimmten Datensatz suchen musst, kannst Du z.B. rs.FindFirst("[Fiel1]=‚abc‘") oder rs.MoveFirst verwenden.

Gruß,
Johanna

Hallo Johanna

Danke es hat geklappt
Gruß
Manfred