🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Mit setValue-Funktion Integer übergeben?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Mocke47
Beiträge: 17
Registriert: Di 20. Nov 2012, 15:19

[gelöst] Mit setValue-Funktion Integer übergeben?

Beitrag von Mocke47 » Di 6. Dez 2016, 07:42

Hallo,
ich habe folgendes Problem:

Code: Alles auswählen

Sub Kundennummer
	Dim zahl as Integer
	
	zahl = DMAX("numKundennummer","tblNummernkreise") 
	
	setValue("Forms!frmKunden!fmtkunNummer", "" & zahl & "")	
End Sub
Das Makro funktioniert zwar, sprich er übergibt die Zahl an das fmtkunNummer und zeigt die Zahl auch beim Laden des Formulars an, aber irgendwie nicht richtig. Beim abspeichern des Datensatzes meckert er dann, da fmtkunNummer der Primärschlüssel ist, dass ein Wert eingetragen werden muss?

Mocke47
Zuletzt geändert von Mocke47 am Mi 7. Dez 2016, 08:10, insgesamt 2-mal geändert.

Mocke47
Beiträge: 17
Registriert: Di 20. Nov 2012, 15:19

Re: Mit setValue-Funktion Integer übergeben?

Beitrag von Mocke47 » Di 6. Dez 2016, 09:24

Kurzes Feedback:

Code: Alles auswählen

Sub Kundennummer
	Dim zahl as Integer
	
	zahl = DMAX("numKundennummer","tblNummernkreise")
	
	setValue("Forms!frmKunden!txtkunBezeichnung", "" & zahl & "")	
End Sub
Ich habe jetzt einfach mal in der setValue-Funktion ein Textfeld (txtkunBezeichnung) genommen. Da wird der Wert richtig übernommen und auch gespeichert. Ist alles nachvollziehbar, aber wie bekomme ich ein Integer übergeben, da mein fmtkunNummer ein Integer-Feld ist?

Mocke47

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Mit setValue-Funktion Integer übergeben?

Beitrag von RobertG » Di 6. Dez 2016, 20:06

Hallo Mocke47,

wenn ich den Code sehe, dann verwendest Du vermutlich Access2Base. Schau hier gegebenenfalls nach Hinweisen: http://www.access2base.com/access2base.html

In Basic reicht es nicht, einen Wert zu ändern. Damit wird erst einmal nur die Ansicht geändert. Es geht vielmehr darum, den Wert auch der darunterliegenden Datenbank mitzuteilen.
Das würde bei einem vorgegebenen Formularfeld so laufen:

Code: Alles auswählen

oField =  thisComponent.drawpage.forms.frmKunden.fmtkunNummer
oField.BoundField.updateInt( zahl )
Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Mocke47
Beiträge: 17
Registriert: Di 20. Nov 2012, 15:19

Re: Mit setValue-Funktion Integer übergeben?

Beitrag von Mocke47 » Mi 7. Dez 2016, 08:08

Hallo RobertG,
danke für die schnelle und punktgenaue Hilfe :D

Code: Alles auswählen

Sub Kundennummer
	Dim zahl as Integer
	Dim oField as Object
	
	zahl = DMAX("numKundennummer","tblNummernkreise")
	
	oField =  thisComponent.drawpage.forms.MainForm.fmtkunNummer
	oField.BoundField.updateInt( zahl )	
End Sub
So funktioniert es!

In Access2Base steht nicht wirklich viel zu der setValue-Funktion, zumindest was die Übergabe von Zahlen angeht. Habs auch mit dem Variant-Type probiert. Geht leider auch nicht bzw. wird, wie Du schon sagst, nur die Ansicht geändert. Außer man steuert ein Textfeld (siehe kurzes Feedback von mir) an, dann geht es komischerweise?

Danke
Mocke47


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten