Toon posts:

[Access] Samenvoegen gegevens uit meerdere velden

Pagina: 1
Acties:
  • 316 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik heb gezocht of ik dit onderwerp eerder was beschreven, maar helaas.

Mijn probleem is als volgt:

Ik heb 2 tabellen.
1. tab_klanten
2. tab_reparaties

In tabel 1 staat het klant nummer en de rest van de klant gegevens.
In tabel 2 staan alle reparatie gegevens die worden ingevuld adh een invul formulier. In deze tabel staat o.a. het veld "call nummer".
Hierin ligt mijn probleem.

Wat ik wil is als volgt:
Ik wil dat het call nummer automatisch wordt gegenereerd adh van de klant nummer (bijv. 10133). Verder moet het call nummer een opvolgend nummer hebben (bijv. 001, 002, 003 etc). Om het verhaal af te maken moet er ook een vast gegeven bij staan (RP).
Een call nummer komt er dus uiteindelijk zo uit te zien: RP10133001

Het is de bedoeling dat wanneer ik in het formulier een klant selecteer (die hij uit tab_klant haalt) hij automatisch dat nummer dus genereerd.

Het moet te doen zijn. Alleen ik heb geen idee hoe. Misschien vba of sql. Maar dat beheers ik niet echt.

Weet iemand hoe ik over dit "drempeltje" kan stappen? ;)

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Je zal toch echt VBA moeten leren. Dan kan je op een Form bij een BeforeInsert code schrijven die dat veld genereert.

Of je maakt dat veld niet, en je berekent het veld steeds opnieuw: het is immers direct af te leiden uit velden in je database:

code:
1
'RP' & CStr(tab_klanten.klantnr) & CStr(tab_reparaties.callnr)

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Verwijderd

Topicstarter
Dankje voor je reactie. Het is opgelost adh van de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 Private Sub Combo35_AfterUpdate()
    Dim tabel

    txtSQL = "SELECT Callnr FROM tab_reparatie WHERE Callnr LIKE 'RP" & Combo35.Column(0) & "*' ORDER BY Callnr DESC"
    
    Set tabel = CurrentDb.OpenRecordset(txtSQL)
            
    If Not tabel.EOF Then
        nieuw_nummer = Right(tabel!Callnr, 3) + 1
        nieuw_callnummer = "RP" & Combo35.Column(0) & Format(nieuw_nummer, "000")
    Else
        nieuw_callnummer = "RP" & Combo35.Column(0) & "001"
    End If

    Code.Value = nieuw_callnummer
    
    Set tabel = Nothing
End Sub