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;
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
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 ]