Toon posts:

[VBA] [Access 2000] Hoe een Recordset koppelen aan formulier

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een VBA script in elkaar gezet voor een hotel reserverings database, het voert een aantal berekeningen uit met datums en aan het einde hou ik twee recordsets over waarvan ik er een aan een formulier moet "binden".

Hieronder het script;

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
If Me.StartDate = 0 Or Me.EndDate = 0 Then
    MsgBox "You have to fill in a start date and a end date", vbCritical, "Read this carefully"
Else
    If Not Me.StartDate < Me.EndDate Then
        MsgBox "The end date must be after the start date", vbCritical, "Read this carefully"
    Else
        Dim MyCon As Connection
        Set MyCon = CurrentProject.Connection
        Dim MyRs As New ADODB.Recordset
        Dim MySql As String
        MySql = "SELECT * FROM Reservation;"
        MyRs.CursorLocation = adUseClient
        MyRs.Open MySql, MyCon, adOpenForwardOnly, adLockOptimistic
        Set MyRs.ActiveConnection = Nothing
        'Next recordset
        Dim SpRs As New ADODB.Recordset
        Dim SpSql As String
        SpSql = "SELECT Space.SpaceID, Space.NotCurrent FROM [Space] WHERE (((Space.NotCurrent)=False));"
        SpRs.CursorLocation = adUseClient
        SpRs.Open SpSql, MyCon, adOpenForwardOnly, adLockOptimistic
        Set SpRs.ActiveConnection = Nothing
        'Close the connection
        MyCon.Close
        '
        'The checking starts here
        '
        MyRs.MoveFirst
        Do Until MyRs.EOF
            If Subs.CheckTheDates(MyRs!Start, MyRs!end, Me.StartDate, Me.EndDate) = False Then
                MyRs.Delete
            End If
            MyRs.MoveNext
        Loop
        MyRs.MoveFirst
        SpRs.MoveFirst
        
        Do Until MyRs.EOF
            Do Until SpRs.EOF
                If MyRs!SpaceID = SpRs!SpaceID Then
                    SpRs.Delete
                End If
                SpRs.MoveNext
            Loop
            If Not SpRs.RecordCount = 0 Then
                SpRs.MoveFirst
            End If
            MyRs.MoveNext
        Loop



        If SpRs.RecordCount = 0 Then
            MsgBox "There are no free spaces between the dates that you have given", vbInformation, "Please read this information"
        Else
            Debug.Print MyRs.RecordCount
            Debug.Print SpRs.RecordCount
            Debug.Print SpRs!SpaceID
            'Debug.Print SpRs!SpaceID

            <HIER MOET IK HEM AAN HET FORMULIER BINDEN>
            
        End If
    End If
End If



De RecordSet die aan het formulier moet koppelen is SpRs. Ik heb van alles geprobeerd en ik weet het niet meer. Voor de duidelijkheid; SpRs is een recordset die losgekoppeld is van de database, dit omdat ik records moet deleten ivm de berekeningen, het deleten mag echter niet worden doorgevoerd in de database....

Tips en adviesen zijn welkom

Bvd

[ Voor 4% gewijzigd door Verwijderd op 20-01-2003 21:46 ]


  • Boss
  • Registratie: September 1999
  • Laatst online: 23:37

Boss

+1 Overgewaardeerd

Ik zou de SQL van die recordset in de source van je formulier gooien. En als dat niet past kan je heb in een query zetten en dan het form aan die querie hangen.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Boss schreef op 20 January 2003 @ 11:40:
Ik zou de SQL van die recordset in de source van je formulier gooien. En als dat niet past kan je heb in een query zetten en dan het form aan die querie hangen.
Heb je het verhaal en de code wel gelezen?

Is meschien een lap tekst maar toch....

Dit kan ik du sniet doen omdat ik beide recordsets via vba moet bewerken......

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:24

gorgi_19

Kruimeltjes zijn weer op :9

offtopic:
Kan je misschien je code tussen [code][/code] tags zetten? Dan komt je code een stuk netter over en 'schrikt' het minder mensen af... :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 20 januari 2003 @ 21:34:
offtopic:
Kan je misschien je code tussen [code][/code] tags zetten? Dan komt je code een stuk netter over en 'schrikt' het minder mensen af... :)
Net gedaan, thanks for the tip