Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

makro verbessern





Frage

habe bei einem eingabeformular folgendes makro: wenn vor und nachname eingegeben werden, werden in einem feld automatisch die initialen reingeschrieben. also z.b. hans meier => hm, wenn aber HM von einem anderen namen her schon existiert soll er daraus hm1 (bzw hm2 wenn hm1 auch schon existiert), wie kann ich das automatisch machen.

Antwort 1 von struppi

Hallo
Probier das mal:

Sub DoppelTest(Optional Te As String)
Dim rsProjekt As Recordset
Dim ini As String
ini = IIf(Te = "", Left(Me.VName, 1) & Left(Me.NName, 1), Te)
Set rsProjekt = Me.RecordsetClone
rsProjekt.MoveFirst
rsProjekt.FindFirst "[InitialenTab]=" & "" & ini & ""
If rsProjekt.NoMatch Then
Me.Initialen = ini
rsProjekt.Close
Me.Refresh
Else
AddNeu (ini)
rsProjekt.Close
End If
End Sub

Function AddNeu(Init As String)
Dim InitN As String, zaehler As Integer
If Len(Init) > 2 Then
zaehler = Int(Right(Init, Len(Init) - 2)) + 1
Else
zaehler = 1
End If
InitN = Left(Init, 2) & CStr(zaehler)
DoppelTest (InitN)
End Function
--------------------------------------
Benötigte Text-Felder:
VName
NName
Initialen
Benötigte Tabelle:
InitialenTab
In das Ereignis in dem vorher das Makro lief folgendes zwischen die sub schreiben:
DoppelTest
--------------------------------------
Wenns nicht läuft nochmal nachfragen, ist getestet.
gruß struppi


Antwort 2 von struppi

Kleine Korrektur
Es muß heißen:

Benötigte Text-Felder:
VName
NName
Initialen
Benötigte Spalte in Tabelle/Abfrage:
InitialenTab
(An diese Spalte ist das Textfeld "Initialen" gebunden.

In das Ereignis in dem vorher das Makro lief folgendes zwischen die sub schreiben:
DoppelTest
Kann das auch in Deine DB (ohne Daten) einbauen wenn unverständlich..
gruß struppi


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: