standaard waarde in tabel m.b.v. combobox

Status
Niet open voor verdere reacties.
Onderstaande code werkt voor mij:thumb:. Hoe zit ik hiermee dan de autonummering om zeep te helpen?


Code:
Private Sub Form_Load()
    Dim arr As Variant
    With Me
        If Not .OpenArgs = "" Then
            arr = Split(.OpenArgs, "|")
            .txtInlognaam.Value = arr(0)
            .txtLeverancier.Value = arr(1)
            .TxtProjectnummer.Value = arr(2)
            .Filter = "[Id_Personeel] = " & Me.txtInlognaam.Value _
                & " AND [Id_Leverancier] = " & Me.txtLeverancier.Value _
                & " AND [Id_Projectnummer] = " & Me.TxtProjectnummer.Value
            .FilterOn = True
        End If
DoCmd.GoToRecord , , acNewRec
    End With
End Sub
 
Zodra je continue elke keer een nieuw record aanmaakt, en je denkt vervolgens: maar ik hóef helemaal geen nieuw record, en je haalt 'm weer weg, krijg je een gat in je nummering. Terwijl dat dus nergens voor nodig is. Maak een knop voor een nieuw record, zodat de gebruiker zelf kan kiezen of-ie een nieuw record wil of niet.
 
De gebruiker loopt met een draadloze scanner in de hand, staat dus alleen even achter de PC om zijn naam, de leverancier, en project in te voeren.
Zal dus daarna de GTIN code van het artikel en een getal (aantal) vanaf een lijst scannen en dan automatisch door naar het volgende item.
Ik wil dus liever geen enterfunctie voor ieder artikel waarvoor hij weer terug naar de PC moet.
Heeft een gat in de nummering dan een negatief effect op de performance? Het is toch "maar" een nummertje?
 
Een gat heeft inderdaad geen enkel effect op wat dan ook, anders dan dat het lelijk staat :).
 
Hallo,
Ergens zit er nog een kleine bug in de code;
als ik ben "ingelogged" wordt de oudste boeking weer overschreven (en ook weergegeven in het formulier (zie afbeelding)) met inlogggevens en verschijnen er twee lege regels met de focus op de laatste. Screen Shot 01-24-19 at 02.06 PM.PNG

De code die nu onder de knop "boeken" zit is:
Code:
Private Sub Form_Load()
    Dim arr As Variant
    With Me
        If Not .OpenArgs = "" Then
            arr = Split(.OpenArgs, "|")
            .txtInlognaam.Value = arr(0)
            .txtLeverancier.Value = arr(1)
            .TxtProjectnummer.Value = arr(2)
            .Filter = "[Id_Personeel] = " & Me.txtInlognaam.Value _
                & " AND [Id_Leverancier] = " & Me.txtLeverancier.Value _
                & " AND [Id_Projectnummer] = " & Me.TxtProjectnummer.Value
            .FilterOn = True
        End If
    End With
    DoCmd.GoToRecord , , acNewRec
End Sub

Private Sub Form_Current()
    With Me
        .txtInlognaam.DefaultValue = .txtInlognaam.Value
        .txtLeverancier.DefaultValue = .txtLeverancier.Value
        .TxtProjectnummer.DefaultValue = .TxtProjectnummer.Value
    End With
End Sub

Wat kan er nog aan mankeren?
 
acDialog

Code:
Private Sub KnopBoeken_Click()
    If Me.CboLeverancier & "" = "" Or Me.CboPersoneel & "" = "" Or Me.cboProjectnummer & "" = "" Then
        Exit Sub
    Else
        Me.Visible = False
        DoCmd.OpenForm "Frm_GeboekteMaterialen", WindowMode:=acDialog, OpenArgs:=Me.CboPersoneel & "|" & Me.CboLeverancier & "|" & Me.cboProjectnummer
    End If
End Sub
 
Laatst bewerkt:
Nee dus :). Zou ik wel doen, want je wilt gelijk nieuwe waarden toevoegen. Dus dan heb je toch niks aan de bestaande data.
 
Hoe ziet dat er dan uit? Ik heb al van alles geprobeerd maar het blijven 2 records na openen van het formulier.
 
Zit er in onderstaande code dan opgesloten dat ik -hoe ik ook filter- het allereerste/oudste record uit de tabel Tab_Geboekte_Materialen zichtbaar krijg in het formulier? Deze bovenste record hoort er niet in thuis. :eek:


Code:
Private Sub Form_Load()
    Dim arr As Variant
    With Me
        If Not .OpenArgs = "" Then
            arr = Split(.OpenArgs, "|")
            .txtInlognaam.Value = arr(0)
            .txtLeverancier.Value = arr(1)
            .TxtProjectnummer.Value = arr(2)
            .Filter = "[Id_Personeel] = " & Me.txtInlognaam.Value _
                & " AND [Id_Leverancier] = " & Me.txtLeverancier.Value _
                & " AND [Id_Projectnummer] = " & Me.TxtProjectnummer.Value
            .FilterOn = True
        End If
DoCmd.GoToRecord , , acNewRec
    End With
End Sub




Private Sub Form_Current()
    With Me
        .txtInlognaam.DefaultValue = .txtInlognaam.Value
        .txtLeverancier.DefaultValue = .txtLeverancier.Value
        .TxtProjectnummer.DefaultValue = .TxtProjectnummer.Value
    End With
End Sub
 
Meer als dit heb je volgens mij niet nodig. Op je startformulier:
Code:
Private Sub KnopBoeken_Click()
    If Not Me.CboLeverancier & Me.CboPersoneel & Me.cboProjectnummer & "" = "" Then
        Me.Visible = False
        DoCmd.OpenForm "Frm_GeboekteMaterialen", DataMode:=acFormAdd, WindowMode:=acDialog, _
            OpenArgs:=Me.CboPersoneel & "|" & Me.CboLeverancier & "|" & Me.cboProjectnummer
    End If
End Sub
En op het formulier "Frm_GeboekteMaterialen":
Code:
Private Sub Form_Load()
Dim arr As Variant
    With Me
        If Not .OpenArgs = "" Then
            arr = Split(.OpenArgs, "|")
            .txtInlognaam.Value = arr(0)
            .txtLeverancier.Value = arr(1)
            .TxtProjectnummer.Value = arr(2)
        End If
    End With
End Sub
Hiermee open je het formulier in de Toevoegmodus, dus met een leeg record, en worden de 3 velden gevuld vanuit de OpenArgs. Ik zou een volgend record triggeren. op basis van een timer of zo; zodat je na een aantal seconden vanaf het scannen automatisch een nieuw record krijgt.
Het triggeren van een nieuw record
 
Het werkt precies zoals besproken:D. Dank voor je energie die je er in steekt.
Ik wil echter 'na wijzigen' een requery toevoegen waardoor een koppeling van het GTIN-nummer met een gekoppelde omschrijving en fabrikaat wordt geupdate zodat men eventueel ook kan zien wat er zojuist geboekt is.

Hierbij wordt alleen het formulier weer geleegd.
Weet je hier nog een oplossing voor?

Het formulier is inmiddels niet meer rechtstreeks gekoppeld met de tabel maar omgezet naar een query.
Hierin is dus nu ook een tabel met GTIN-nummer met omschrijving en fabricaat van het artikel opgenomen.

Ik heb van alle velden -behalve uiteraard het te scannen veld- de TABstop uitgezet.
Hierdoor volgt vanzelf steeds het volgende record na een invoer door de scanner.
 
Normaal gesproken zou je, als je de query goed hebt ingericht, die gegevens gelijk moeten zien. Als dat niet gebeurt, deugt je query misschien niet. Of je zou een repaint moeten doen. In ieder geval geen requery, want dan ben je je data denk ik kwijt (op het formulier).
 
Ik kom er niet meer uit, hele zaterdag bezig geweest maar geen stap verder gekomen.:confused:
Nog steeds twee records en geen update van de artikelomschrijving.
Zou je er misschien eens naar willen kijken?
Ben zo vrij geweest e.e.a mee te sturen.;)
Als het niet kan even goeie vrienden....
 

Bijlagen

  • BKMN_Artikelen scannen_V1.09.rar
    287,4 KB · Weergaven: 41
Ik zal er morgen naar kijken. Nog even een scanner scoren en dan kunnen we :).
 
Je hebt niet echt een scanner nodig, je kan ook een van de onderstaande codes knippen en plakken in het GTIN veld
Access zou er dan de omschrijving het fabricaat en de Productcode fabrikant er bij moeten zoeken.

4250157900524
4010105119817
4044773000870

Groeten Henny
 
Ik ben er nog mee bezig. Heb er al wel een blik op geworpen.
 
Nu wel :). Was een beetje te druk de laatste weken, maar de rust is weer een beetje teruggekeerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan