Seite 1 von 1

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

Verfasst: Di 6. Dez 2016, 07:42
von Mocke47
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

Re: Mit setValue-Funktion Integer übergeben?

Verfasst: Di 6. Dez 2016, 09:24
von Mocke47
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

Re: Mit setValue-Funktion Integer übergeben?

Verfasst: Di 6. Dez 2016, 20:06
von RobertG
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

Re: Mit setValue-Funktion Integer übergeben?

Verfasst: Mi 7. Dez 2016, 08:08
von Mocke47
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