• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Userform knop opslaan. Nieuwe rij maken of bestaande wijzigen

  • Onderwerp starter Onderwerp starter novec
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

novec

Gebruiker
Lid geworden
6 jan 2009
Berichten
194
Hallo

In bijlage heb ik een userform.
Standaard opent dit formulier met een nieuw ID nummer. De gebruiker vult de rest en gebruikt de knop "Opslaan Nieuw".
of
Gebruiker vraagt een bestaand Id op en brengt wijziging aan en gebruikt de knop "Wijziging Opslaan".

Ik zou het willen kunnen combineren in één opslaan knop.

Dus beide codes in 1 sub.
Ik heb het nodige geëxperimenteerd met
If 'Als het nummer in de 1e kolom bestaat' Then ......
Dan wijzig die rij

Else
'maak een een nieuwe rij aan en vul die met de gegevens....

Maar ik krijg het nog niet werkend.

Wie wel?

Bekijk bijlage TestjeForm_v102.xlsm

Steven
 
Laatst bewerkt:
Dag novec,

Als ik het goed voor heb, dan heb je hetzelfde formulier al eens eerder gepost: http://www.helpmij.nl/forum/showthread.php/885481-Useform-nieuw-record-in-Tabel-of-juist-een-rij-in-Tabel-wijzigen

Welnu, dan heb je (misschien) geluk. Omdat ik het interessant vond om bepaalde code eens wat uit te proberen, heb ik met jou oorspronkelijk bestand een beetje aangerommeld. Het resultaat is bijgevoegd. Het is wel over een totaal andere leest geschoeid, maar misschien heb je er toch wel iets aan.

Grtz,
MDN111.
 

Bijlagen

Hallo MDN111

Ik ben zeer erkentelijk voor je File-tje. Ziet er mooi uit en ik kan er weer veel van leren. Dank ook voor de uitleg welke je erbij schreef.
Het is inderdaad een eerder gebruikt bestandje waar ik geregeld in knutsel om andere formulieren aan te kunnen passen. En ik wilde van de multipage oplossing af zoals die er oorspronkelijk in zat.
Heus ik kan er wat mee :-)

Wat is dit toch een geweldig forum!!!!

Steven
 
wel jammer dat ook jou sheet nog steeds 2 opslaan knoppen heeft.
1 voor opslaan nieuw en 1 voor opslaan wijzigen. Dat moet toch in één opslaan knop kunnen?
 
Mooi, maar als ik de oplossing met listbox toe ga passen op bijv. 10000 rijen en 30 kolommen werkt dit volgens mij weinig gebruiksvriendelijk. Maar voor overzichtelijke sheets, zoals mijn voorbeeld, werkt dit zeker wel.

Steven
 
Dag novec,

Nee hoor, er is maar één knop om te saven.

Om een nieuwe lijn toe te voegen, klik op de eerste knop. Er verschijnt een automatisch volgnummer en de invulvelden worden blauw (=gereed om in te voeren). Na invoer van de gegevens, klik op de vijfde knop om te saven of op de zesde knop om te cancelen.

Om een lijn te wijzigen, klik op de vierde knop om te zoeken. Je kan dan het ID-nr invoeren of kiezen. Heb je de gewenste lijn gevonden, klik dan op de tweede knop om te wijzigen. De invulvelden worden blauw (=gereed om in te voeren). Na invoer van de gegevens, klik op de vijfde knop om te saven of op de zesde knop om te cancelen.

Grtz,
MDN111.
 
Onder één knopje.
Code:
Private Sub cmbWijzigen_Click()
Dim oRange As Range
With Sheets("Test").ListObjects(1)
    Set oRange = .Range.Columns(1).Find(txtID2.Value, , xlValues, xlWhole)
    arr = Array(txtID2.Value, txtNaam, txtArt, CDbl(Replace(txtPrijs.Value, ".", ",")), CDbl(txtAantal.Value), CDbl(Replace(txtPrijs, ".", ",") * txtAantal), IIf(obtJa.Value, "Ja", "Nee"))
   If oRange Is Nothing Then
        .ListRows.Add
        .Range(.ListRows.Count + 1, 1).Resize(, 7) = arr
    Else
      oRange.Resize(, 7) = arr
  End If
 End With
    
    txtNaam.Text = ""
    txtArt.Text = ""
    txtPrijs.Value = ""
    txtAantal.Value = ""
    obtJa.Value = True  'Factuur staat default op "Ja".
    optNee.Value = Not obtJa.Value
End Sub

En dan maakt het niet uit of je een punt of komma plaatst in 'txtPrijs'.
 
Laatst bewerkt:
Dank Allemaal.
Ik ga er morgen mee aan het werk.
Voor wat ik nu zie werkt het prima.
Ben blij met alle hulp!!

Steven
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan