Heb de database verder afgemaakt en het werkt helemaal foutloos, misschien of meer waarschijnlijk niet helemaal op de juiste manier want heb er 2 opgelost door wat geleende code bij te voegen.
Via het dashboard die je had bijgemaakt werkte opzoek/filter code niet meer, deze filtert de resultaten in de listbox die gekozen zijn in de comboboxen op het leverancier formulier, ik heb de cmd knop dus terug geplaatst op het leverancier werkblad maar dat gaf een compileer foutcode in de maaklijst van het opzoek/filter als ik een leverancier wilde verwijderen, dit heb ik kunnen oplossen door deze code
With frmLeverancier
.LsbLeverancier.ListIndex = -1
.cbbNaamL = "": .cbbDienstL = "": .cbbNummerL = "": .cbbContactL = ""
End With
voor deze van jou te zetten
With Blad1.ListObjects("tblleverancier").DataBodyRange
fRow = Application.Match(frmLeverancier.txtLeverancierIDL, .Columns(1), 0)
.Rows(fRow).EntireRow.Delete
End With
en ik had een stukje code die dubbelle waardes controleerd, die ik gebruik voor het leverancier nummer,
If WorksheetFunction.CountIf(ws.Range("D2", ws.Cells(iRow, 1)), Me.txtNummerLI.Value) > 0 Then
MsgBox "Dit Nummer is al in gebruik", vbCritical
Exit Sub
End If
die pas goed werkte door dit ervoor te zetten,
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
Heb ik dit goed gedacht of kan dit problemen gaan brengen?
En nog een vraag, in het eerste formulier leveranciers heb ik een listbox met 4 combo's waarmee ik leveranciers kan opzoeken, werkt goed maar wat ik zou willen dat als ik bv alleen een F kies in bv de leveranciers listbox kies alle lev. verschijnen die met F beginnen en niet maar 1, er verschijnen er enkel meer als het eerste woord van de naam gelijk is, ipv de eerste letter.
Heb het web wat afgestruint maar alle listboxen incl de codes die ik hier nog heb doen allemaal het zelfde, laten maar 1 resultaat zien ipv alle die beginnen met dezelfde letter..
Hier de code van het opzoek/filter
Private Sub cbbNaamL_Change()
If exitsub Then Exit Sub
maaklijst cbbNaamL, 33
End Sub
Private Sub cbbDienstL_Change()
If exitsub Then Exit Sub
maaklijst cbbDienstL, 34
End Sub
Private Sub cbbNummerL_Change()
If exitsub Then Exit Sub
maaklijst cbbNummerL, 35
End Sub
Private Sub cbbContactL_Change()
If exitsub Then Exit Sub
maaklijst cbbContactL, 36
End Sub
Sub maaklijst(obj As Object, col As Long)
exitsub = True
Range("AF1").CurrentRegion.Offset(1).ClearContents
With Sheets("Leverancier")
.Range("BK1").CurrentRegion.ClearContents
Cells(2, col) = obj.Text & "*"
.ListObjects("tblLeverancier").Range.AdvancedFilter 2, Range("FilterCriteria2"), Range("bk1")
End With
With Me.LsbLeverancier
.List = Range("bk1").CurrentRegion.Offset(1).Value
exitsub = False
If .ListCount - 1 = 1 Then .ListIndex = 0
End With
Range("AF1").CurrentRegion.Offset(1).ClearContents
Range("BK1").CurrentRegion.ClearContents
End Sub
Oh ja, ik heb nog geprobeerd de cmd leverancier knop aan de praat te krijgen met een werkend opzoek/filter door de CurrenRegion te veranderen naar het werkblad en nog wat dingen met de range maar kwam er niet uit, wat is de verwijzing dan en hoe pas ik dat aan?