Formular mit Makro aktualisieren bei neuem Datensatz

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Formular mit Makro aktualisieren bei neuem Datensatz

Beitrag von Geotrans »

Habe noch einen Fehler entdeckt bei dem ich keine Lösung weiß!
Wenn ich in dem Formular "factory1" bei einem ausgefüllten Datensatz eine Wert bei "DistributionsWeight","Produktivity","Range",electricyti_boost","passgener_boost" oder "mail_boost" ändere werden die Formulare "Verbrauch Fabriken" und "Produktion Fabriken" ordnungsgemäß aktualisiert. Füge ich einen neuen Datensatz hinzu und möchte dort einen Wert eingeben bekomme ich eine Fehlermeldung "BASIC Laufzeitfehler" und das Makro öffnet sich.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm1 AS OBJECT
DIM oForm2 AS OBJECT
DIM oForm3 AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm1 = oDrawpage.forms.getByName("MainForm")
oForm2 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung InputGood")
oForm3 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung OutputGood")
   If oForm1.isNew Then
      oForm1.insertRow
   ElseIf oForm1.isModified Then
      oForm1.updateRow
   End if
oForm2.reload()
oForm3.reload()
End Sub
Würde mich sehr freuen wenn mir da nochmals jemand helfen könnte!
Dateianhänge
neu13.odb
(121.32 KiB) 126-mal heruntergeladen
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: Formular mit Makro aktualisieren bei neuem Datensatz

Beitrag von Geotrans »

so funktioniert es jetzt:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm1 AS OBJECT
DIM oForm2 AS OBJECT
DIM oForm3 AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm1 = oDrawpage.forms.getByName("MainForm")
oForm2 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung InputGood")
oForm3 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung OutputGood")
If oForm1.isNew Then
   0
   ElseIf oForm1.isModified Then
      oForm1.updateRow
   End if
oForm2.reload()
oForm3.reload()
End Sub
während das:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm1 AS OBJECT
DIM oForm2 AS OBJECT
DIM oForm3 AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm1 = oDrawpage.forms.getByName("MainForm")
oForm2 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung InputGood")
oForm3 = oDrawpage.forms.getByName("MainForm").getByName("Auswertung OutputGood")
oForm1.updateRow
oForm2.reload()
oForm3.reload()
End Sub
eine Fehlermeldung bringt!
Antworten