• 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.

Zoeken op datum in archief

Status
Niet open voor verdere reacties.

Bas1980

Gebruiker
Lid geworden
15 dec 2013
Berichten
64
Hallo allemaal,

Ik had wederom een vraagje. Ik heb een database gemaakt waarbij je mensen kunt toevoegen maar ook verwijderen. Verwijderde mensen worden uit het system gehaald en weggeschreven naar een archief database met toevoeging van een datum. Dit werkblad moet eigenlijk niet geopend worden maar moet wel beschikbaar zijn voor een overzicht. Nu zou ik graag het volgende willen:

In het start werkblad wilde ik een knop maken waarmee ik op datum kan zoeken in het archief. Bijvoorbeeld: Ik wil alle verwijderde mensen tussen 01-01-2016 en 02-01-2016 in een overzichtje hebben. Dit overzicht moet dan niet het archief werkblad zijn maar een losstaand (print)overzicht. Wie o wie kan me helpen? Bijgevoegd heb ik het bestand waar het om gaat.

Groetjes Bas

Bekijk bijlage Map1.xlsm
 
Gebruik advanced filter (lint-blad Data).
 
Is zoiets de bedoeling?
Komt uit een ander bestandje maar het principe blijft hetzelfde.
Eerste textbox geeft de oudste datum en tweede de jongste datum uit het archief.
 

Bijlagen

Is zoiets de bedoeling?
Komt uit een ander bestandje maar het principe blijft hetzelfde.
Eerste textbox geeft de oudste datum en tweede de jongste datum uit het archief.

Sorry voor de ietwat late reactie.... ff druk.

Zoiets bedoel ik inderdaad. Alleen moet dit gehele proces op het start worksheet plaats vinden en vervolgens een print lijst weergeven. Deze printlijst hoeft niet opgeslagen of geprint te worden. Is alleen voor het terug zoeken.

Dat dit alles op het startsheet moet plaats vinden heft te maken met het feit dat ik niemand in de directe (database)sheets wil hebben en/of zo weinig mogelijk.

Groet,

Bas
 
@gast0660,

Maak gebruik van een Listbox.
Veel eenvoudiger.
 
HSV, Dank voor het meedenken! Dat is precies wat ik zoek. Echter wanneer ik nu mensen invoer in de database, ze vervolgens verwijder komt er geen datum meer achter te staan in het archiefblad. Er gaat dus nog ergens iets mis :-)
Zelf inmiddels al zoekende maar nog niet gevonden.

Groetjes,

Bas (Die nooit geen tijd heeft en 3 kilo pillen per dag slikt :-) )
 
Daar heeft mijn code niet aan meegewerkt; Die staat er geheel los van.
 
Ben er inderdaad inmiddels achter dat er een klein stukje code ontbrak om de datum achter de verwijderde person te zetten :d

Nog een kleine detail aanpassing waarna ik op zoek ben:
Het overzicht archief laat alle kolommen zien van een verwijderde persoon. Dus de naam, eventuele bijzonderheden, contactinformatie en medicijngebruik. Zodra ik 1 van deze velden leeg laat en ik verwijder de persoon, dan heeft het archief lege kolommen en herkent de datuminvoer geen datums meer. M.a.w. alle gegevens dienen ingevuld te zijn.

Mijn vraag is dus dat wanneer er alleen een naam is ingevuld dat deze rijen dan ook worden mee genomen.

Groet,

Bas
 
Plaats het bestand eens met de getrokken kiezen.
 
Ik heb het voor je aangepast.
 

Bijlagen

Dank je HSV! Ben er heel blij mee. De laatste aanpassing die ik in datzelfde bestand vraag is of het mogelijk is dat de datum handmatig kan worden ingevoerd. Als ik namelijk zelf in de combobox 14-01-2017 of 14-1-2017 typ dan pakt hij niets.

Daarna kan ik me helemaal gaan verdiepen in die code die je erachter hebt gezet :d

Nogmaals heel veel dank!
 
Dan moet je het zo aanpassen.

Er is nl. geen Listindex en List.column als er niets is geselecteerd in de combo.
Er moet dan weer wel gekeken worden of het een echt datumwaarde is.
Zo niet volgt een msgbox, en kan je wijzigingen aanbrengen.
Code:
Private Sub CommandButton1_Click()
Dim i As Long
[COLOR=#0000ff]On Error Resume Next[/COLOR]
 If CBstart.Text <> "" And CBeinde.Text <> "" Then
   With ListBox1
     .List = Sheets("archief beveiligers").Cells(1).CurrentRegion.Offset(1).Resize(Sheets("archief beveiligers").UsedRange.Rows.Count - 1, 5).Value
        For i = .ListCount - 1 To 0 Step -1
[COLOR=#0000ff]          If .List(i, 4) < CDate(CBstart.Text) Or .List(i, 4) > CDate(CBeinde.Text) Then .RemoveItem (i)[/COLOR]
        Next i
    End With
 End If
[COLOR=#0000ff] If Err.Number <> 0 Then MsgBox "geen geldig datum ingegeven"[/COLOR]
[COLOR=#0000ff] On Error GoTo 0[/COLOR]
End Sub
 
HSV Thanks!!!

Code aangepast en dit is exact wat ik bedoel!

Nogmaals veel dank voor een ieder die heeft geholpen!

Groetjes Bas.
 
Toch nog een kleine vraag voor verder gebruik. Als ik in het overzicht toch meerdere kolommen wil gebruiken, dus na de datum van verwijdering bijvoorbeeld nog de persoon die het verwijderd heeft? hoe zet ik dan die extra kolom in het overzicht?
 
Een aanpassing aan de code zodat het het altijd aangepast wordt.
Columncount op 6 en columnwidths aangepast in de listbox eigenschap.
 

Bijlagen

Dank! Werkt weer perfect!
Heb van de 6 eerst 7 kolommen gemaakt en begrijp dat nu ook :-)

Kolom 6 is een tijd. Hoe pas ik die nog aan dat er een tijd zal worden weergegeven?

Dit is de laatste vraag voor dit formulier. Dan ben ik klaar en weet ik hoe ik een en ander kan aanpassen en maken! Thanks!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan