Toon posts:

[Access 97]Wegschrijven recordset naar form

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het probleem is als volgt:
Ik heb een formulier waarin als er data in een recordset zit deze data naar het formscherm geschreven moet worden.
De rijen moeten vervolgens "klikbaar" zijn en als er op geklikt wordt dan moet dat record in een ander scherm geopend worden.
Alles hiervan lukt me wel, maar ik zou niet weten hoe ik nou die records naar het lege formscherm kan schrijven.

M'n code tot dusver:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    Dim dbLokaal As DAO.Database
    Dim rsResult As DAO.Recordset
    Dim qryQry As String
    Dim strZoekString As String
    
    'Bij openen van dit formulier lezen we de ingevulde query uit uit het aanroepende form (frmLeverancier)
    If Not Forms!frmLeverancier!txtQuery.Value = Null Then
    
          'Verbinding met de lokale database
          Set dbLokaal = CurrentDb()
        
          qryQry = " SELECT lev_ID " _
                 & " FROM tblLeverancier " _
                 & " WHERE lev_Bedrijfsnaam LIKE '*" & Forms!frmLeverancier!txtZoeken.Value & "*' " _
                 & " OR lev_Contactpersoon LIKE '*" & Forms!frmLeverancier!txtZoeken.Value & "*' " _
                 & " OR lev_Soort LIKE '*" & Forms!frmLeverancier!txtZoeken.Value & "*' " _
                 & " OR lev_Plaatsnaam LIKE '*" & Forms!frmLeverancier!txtZoeken.Value & "*'; "
          Set rsResult = dbLokaal.OpenRecordset(qryQry)
          
          If rsResult.EOF Then
              Call MsgBox("Geen leverancier gevonden.", vbOKOnly)
          Else
              Do While Not rsResult.EOF
                  'Hier moeten de opgehaalde records weg worden geschreven naar het scherm
              Loop
          End If
        End If
        
    Else
        Call MsgBox("Fout bij het laden van het zoekresultaat", vbOKOnly)
    End If


Is er iemand die weet hoe dit moet?

Verwijderd

Is het scherm al geopend waar je naar wilt schrijven?

Zo nee, gebruik docmd.openForm en gebruik openArgs. In het betreffende formulier kun je de openArgs lezen tijdens bijvoorbeeld functie me. Of gebruik de where string om een filter te zetten op de gegevens van het te openen formulier.

code:
1
docmd.OpenForm "naam",,,,,,"argument"

code:
1
docmd.OpenForm "naam",,,"[ID]=" & me.ID.value

code:
1
2
3
Private Sub Form_Load()
MsgBox Me.OpenArgs
End Sub


Zo ja, zet de waarden in het open formulier.

code:
1
forms![formName]![FieldName].value=me.fieldName.value

Verwijderd

Topicstarter
Verwijderd schreef op 25 oktober 2002 @ 16:13:

code:
1
forms![formName]![FieldName].value="waarde"
Het scherm is inderdaad al geopend. Met de code die je nou geeft geef je aan dat er al plekken zijn waar de data in terecht moet komen.

In mijn geval is er een zoekresultaat waarbij je dus niet weet hoeveel records er zijn. Hoe druk je deze nou af?

Verwijderd

Ok, ik begrijp je probleem. Als je nou eens een query string maakt op basis van de ingevulde criteria in het zoekscherm. Je kunt dan deze query in het resultaat formulier koppelen. Even requery en klaar.

code:
1
2
forms![formName].recordSource=mySQL
forms![formName].requery