* *

Help!

Problemen met uw pc? De vrijwilligers van Oplossing.be zoeken gratis met u mee! 8)

Meer weten over Oplossing.be?

Hoe stel ik een vraag?

Hulp bij posten

Recent

Forum beveiliging

Beste leden en gasten.
De laatste dagen hebben we dit forum veiliger gemaakt voor Uw data, veiliger tegen hackers.
We zijn nu een gecertificeerd https-forum.
Dat houd in dat alle data versleuteld wordt verzonden.
Met heel veel dank aan Kerstman2018.

Auteur Topic: sorteren in onafhankelijk formulier  (gelezen 1442 keer)

Offline Diezel

  • Ervaren lid
  • ***
  • Berichten: 469
  • Geslacht: Man
  • Ik zoek hier een integrale oplossing ...En Jij?
sorteren in onafhankelijk formulier
« Gepost op: 06 december 2016, 13:29:43 »
Beste oplosser,

Ik heb al vele uren geprobeerd om mijn onafhankelijk formulier te kunnen filteren met behulp van ADO recordset.

Het  filteren lukt op zich wel goed, maar de voornamen staan niet gesorteerd. Probeer eens bab in te tikken in de inputbox om dus vervolgens op achternaam Babba te filteren.

In venster direct - vba editor staan die wel gesorteerd.

Private Sub cmdFindContactName_Click()

Dim rst As ADODB.Recordset
Dim cn As ADODB.Connection
         
   'Gebruik een ADO connectie met DAO werkt dit niet
   Set cn = CurrentProject.AccessConnection

   'Maak een nieuwe instantie van de  ADO Recordset class
   'en stel de eigenschappen in
   Set rst = New ADODB.Recordset
   
   With rst
      Set .ActiveConnection = cn
      .Source = "tblPatiŽnten"
      .LockType = adLockOptimistic
      .CursorType = adOpenKeyset
     
      rst.CursorLocation = adUseClient
      rst.Sort = "achternaam ASC, voornaam ASC"
      'rst.Sort = "voornaam DESC" 'DESC, ASC
      .Open
     
    End With
   
   
   If rst.RecordCount = 0 Then
   MsgBox "No entry found.", vbInformation
   Exit Sub
   Else
   
   End If
   
   
   Forms!tblPatiŽnten.RecordSource = ""
   Forms!tblPatiŽnten.RecordSource = "tblPatiŽnten"
   'rst.MoveFirst
   Me.FilterOn = False
 
 
  Dim strAntw As String
  strAntw = InputBox("geef deel van naam op")
  strAntw = strAntw

 
  'rst.Filter = "achternaam like 'bab*'"
  rst.Filter = "achternaam Like '" & strAntw & "*'"
  Me.Filter = rst.Filter
  Me.FilterOn = True
 

 Dim f As Form, c1 As Control, c2 As Control, c3 As Control, c4 As Control, c5 As Control, c6 As Control
 
   'DoCmd.OpenForm "tblPatiŽnten" 'openen van het formulier met een macroactie
 
 


Set f = Forms![tblPatiŽnten]
Set c1 = f!PatiŽntID 'het veld PatiŽntID wordt in de variabele c1 gestockeerd
Set c2 = f!voornaam 'het veld voornaam wordt in de variabele c2 gestockeerd
Set c3 = f!tussenvoegsel
Set c4 = f!achternaam
Set c5 = f!geboortedatum
Set c6 = f!geslacht

c1.ControlSource = "PatiŽntID"
c2.ControlSource = "voornaam"
c3.ControlSource = "tussenvoegsel"
c4.ControlSource = "achternaam"
c5.ControlSource = "geboortedatum"
c6.ControlSource = "geslacht"

c1.Locked = True
c2.Locked = True
c3.Locked = True
c4.Locked = True
c5.Locked = True
c6.Locked = True

Do While Not rst.EOF
Debug.Print rst!achternaam, rst!voornaam
'c2 = rst!voornaam
'MsgBox rst!voornaam
rst.MoveNext

Loop

   

   
   rst.Close
    Set rst = Nothing
    cn.Close
    Set cn = Nothing


End Sub


Voorbeeldje in bijlage in .mdb


Vriendelijke groeten,

Diezel

« Laatst bewerkt op: 06 december 2016, 13:34:50 door Diezel »
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 12 GB
SOFTWAREPAKKET: Office 2016

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.237
  • I've Upped my standards,now,up yours!
Re: sorteren in onafhankelijk formulier
« Reactie #1 Gepost op: 06 december 2016, 21:52:45 »
zoek deze lijn
Forms!tblPatiŽnten.RecordSource = "tblPatiŽnten"
en vervang door
Forms!tblPatiŽnten.RecordSource = "select * from tblPatiŽnten order by achternaam, voornaam"

Je doet voor extra en gebruikt het dan niet?

In bijlage ook een vb (frmMain)
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Diezel

  • Ervaren lid
  • ***
  • Berichten: 469
  • Geslacht: Man
  • Ik zoek hier een integrale oplossing ...En Jij?
Re: sorteren in onafhankelijk formulier
« Reactie #2 Gepost op: 07 december 2016, 05:29:08 »
Hoi Dizzl,

Bedankt voor de snelle reactie en uitwerking.

Blijkbaar had ik geen verwijzing in het formulier gemaakt naar: Sorteren op:

Nu werkt het formulier volledig onafhankelijk.

 f.OrderBy = "[achternaam] ASC,[voornaam] ASC "
 f.OrderByOn = True

In bijlage een voorbeeldje waar men op 6000 records kan sorteren.

Vriendelijke groeten,

Diezel


« Laatst bewerkt op: 07 december 2016, 06:59:55 door Diezel »
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 12 GB
SOFTWAREPAKKET: Office 2016

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.237
  • I've Upped my standards,now,up yours!
Re: sorteren in onafhankelijk formulier
« Reactie #3 Gepost op: 07 december 2016, 18:38:51 »
Als ik 'Bab' intik krijg ik maar ťťn patiŽnt? 'k Zou er 3 moeten hebben?
Of zie ik iets over het hoofd?
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Diezel

  • Ervaren lid
  • ***
  • Berichten: 469
  • Geslacht: Man
  • Ik zoek hier een integrale oplossing ...En Jij?
Re: sorteren in onafhankelijk formulier
« Reactie #4 Gepost op: 07 december 2016, 23:45:43 »
ik zie er twee en ook check via query gedaan. nl: records PatiŽntenID: 6031, 228 met als criteria: Like "Bab*" krijg ik dan te zien.

zie in bijlage



Vriendelijke groeten,

Diezel

OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 12 GB
SOFTWAREPAKKET: Office 2016

 


www.combell.com