VB probleem

Pagina: 1
Acties:

  • michelc85
  • Registratie: Juli 2002
  • Laatst online: 22-08 19:14
Ik heb het volgende probleem

ik heb een spelletje en wil dat deze de scores in een acces-database zet.
Heb al veel dingen geprobeerd.

Ik heb een adodc control aangemaakt en deze gekopeld aan de database

Waar zit de fout?

Het probleem zit erin dat ik niet weet wanneer ik die code voor de ado control moet plaatsen

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
Dim z As Integer
Dim zz As Integer
Dim counter As Integer



Private Sub check_Timer()
For i = 0 To 4
If Shape1(i).Top >= z And Shape1(i).Top <= z + 400 And Shape1(i).Left >= zz And Shape1(i).Left <= zz + 400 Then
MsgBox "got it!!!"

Form_Load
score.Caption = Val(score.Caption) + 1
Exit Sub
End If
Next i

End Sub

HIER ZIT DE ADODC1 CODE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Private Sub cmdexit_Click()
MsgBox (score.Caption)
Adodc1.Recordset.AddNew
Adodc1.Recordset.MoveNext
Unload Me
End


End Sub

Private Sub cmdexit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
cmdexit.BackColor = vbBlack
cmdexit.ForeColor = vbWhite
End Sub



Private Sub cmdexit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
cmdexit.BackColor = vbWhite
cmdexit.ForeColor = vbBlack

End Sub

Private Sub cmdexit_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
cmdexit.BackColor = vbWhite
cmdexit.ForeColor = vbBlack
End Sub

Private Sub Command1_Click()


End Sub

Private Sub Form_Load()

Randomize z
Randomize zz

For i = 0 To 1000
Randomize X
Randomize Y


X = Int(Rnd() * 4250)
Y = Int(Rnd() * 4250)


Picture1.ForeColor = vbRed
Picture1.PSet (X, Y)

Next i
z = Int(Rnd(4) * 3000)
zz = Int(Rnd(1) * 3000)

fireball.Left = zz
fireball.Top = z

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
cmdexit.BackColor = vbBlack
cmdexit.ForeColor = vbWhite

End Sub

Private Sub left1_Timer()
'Shape1(1).left = Shape1(0).left
'Shape1(1).Top = Shape1(0).Top
If Shape1(0).Left <= 0 Then
Picture1_KeyPress (59)

Exit Sub
End If
xxx = Shape1(2).Top
yyy = Shape1(2).Left
xxxx = Shape1(3).Top
yyyy = Shape1(3).Left
xxxxx = Shape1(4).Top
yyyyy = Shape1(4).Left
xxxxxx = Shape1(5).Top
yyyyy = Shape1(5).Left

xx = Shape1(1).Top
yy = Shape1(1).Left
X = Shape1(0).Top
Y = Shape1(0).Left
Shape1(1).Top = X
Shape1(1).Left = Y
Shape1(2).Top = xx
Shape1(2).Left = yy
Shape1(3).Top = xxx
Shape1(3).Left = yyy
Shape1(4).Top = xxxx
Shape1(4).Left = yyyy
Shape1(5).Top = xxxxx
Shape1(5).Left = yyyyy
Shape1(0).Left = Shape1(0).Left - 100


End Sub

Private Sub Picture1_KeyPress(KeyAscii As Integer)
If KeyAscii = 108 Then
'Shape1(0).Left = Shape1(0).Left + 10
'Shape1(0).Top = Shape1(0).Top + 10
Timer1.Enabled = True
up.Enabled = False
right.Enabled = False
left1.Enabled = False
End If

If KeyAscii = 111 Then
up.Enabled = True
Timer1.Enabled = False
right.Enabled = False
left1.Enabled = False
End If

If KeyAscii = 59 Then
right.Enabled = True
up.Enabled = False
Timer1.Enabled = False
left1.Enabled = False
End If

If KeyAscii = 107 Then
left1.Enabled = True
right.Enabled = False
up.Enabled = False
Timer1.Enabled = False
End If
End Sub

Private Sub right_Timer()
If Shape1(0).Left >= 4225 Then
Picture1_KeyPress (107)

Exit Sub
End If
xxx = Shape1(2).Top
yyy = Shape1(2).Left
xxxx = Shape1(3).Top
yyyy = Shape1(3).Left
xxxxx = Shape1(4).Top
yyyyy = Shape1(4).Left
xxxxxx = Shape1(5).Top
yyyyy = Shape1(5).Left
xx = Shape1(1).Top
yy = Shape1(1).Left
X = Shape1(0).Top
Y = Shape1(0).Left
Shape1(1).Top = X
Shape1(1).Left = Y

Shape1(2).Top = xx
Shape1(2).Left = yy
Shape1(3).Top = xxx
Shape1(3).Left = yyy
Shape1(4).Top = xxxx
Shape1(4).Left = yyyy
Shape1(5).Top = xxxxx
Shape1(5).Left = yyyyy
Shape1(0).Left = Shape1(0).Left + 100

End Sub

Private Sub seconds_Timer()
times.Caption = Val(times.Caption) + 1

End Sub

Private Sub Timer1_Timer()
If Shape1(0).Top >= 4000 Then
Picture1_KeyPress (111)

Exit Sub
End If
xxx = Shape1(2).Top
yyy = Shape1(2).Left
xxxx = Shape1(3).Top
yyyy = Shape1(3).Left
xxxxx = Shape1(4).Top
yyyyy = Shape1(4).Left
xxxxxx = Shape1(5).Top
yyyyy = Shape1(5).Left

xx = Shape1(1).Top
yy = Shape1(1).Left

X = Shape1(0).Top
Y = Shape1(0).Left
Shape1(1).Top = X
Shape1(1).Left = Y
Shape1(2).Top = xx
Shape1(2).Left = yy
Shape1(3).Top = xxx
Shape1(3).Left = yyy
Shape1(4).Top = xxxx
Shape1(4).Left = yyyy
Shape1(5).Top = xxxxx
Shape1(5).Left = yyyyy
Shape1(0).Top = Shape1(0).Top + 100
End Sub

Private Sub up_Timer()
If Shape1(0).Top <= 0 Then
Picture1_KeyPress (108)

Exit Sub
End If
xxx = Shape1(2).Top
yyy = Shape1(2).Left
xxxx = Shape1(3).Top
yyyy = Shape1(3).Left
xxxxx = Shape1(4).Top
yyyyy = Shape1(4).Left
xxxxxx = Shape1(5).Top
yyyyy = Shape1(5).Left

xx = Shape1(1).Top
yy = Shape1(1).Left
X = Shape1(0).Top
Y = Shape1(0).Left
Shape1(1).Top = X
Shape1(1).Left = Y
Shape1(2).Top = xx
Shape1(2).Left = yy
Shape1(3).Top = xxx
Shape1(3).Left = yyy
Shape1(4).Top = xxxx
Shape1(4).Left = yyyy
Shape1(5).Top = xxxxx
Shape1(5).Left = yyyyy
Shape1(0).Top = Shape1(0).Top - 100

End Sub

[ Voor 192% gewijzigd door michelc85 op 01-06-2003 22:42 ]


  • DUX
  • Registratie: September 2002
  • Laatst online: 00:47

DUX

blijft ook nu voor Oranje

Probeer je code tussen [ code ]-tags te zetten next time. Kun je het probleem niet zelf vinden? Hij geeft toch een regel aan waar hij blijft steken met eventueel een foutmelding erbij? Desnoods kun je nog breaks zetten...

Wat gaat er precies mis?

[edit]
En welke onderdelen heb je allemaal op de form gezet?

[ Voor 12% gewijzigd door DUX op 01-06-2003 22:41 ]

.    < G o o o o o o o o g l e >
Vorige 1 2 3 4 5 6 7 8 Volgende


  • brokenp
  • Registratie: December 2001
  • Laatst online: 23:48
michelc85, misschien is het slim om eens de faq door te lezen, dit bericht mist nl een hele hoop belangrijke dingen
- Plaats je code tussen [code] tags
- Plaats alleen relevante code
- Geef aan waar je probleem zit
- Geef aan wat je al geprobeerd hebt.

  • michelc85
  • Registratie: Juli 2002
  • Laatst online: 22-08 19:14
DUX schreef op 01 June 2003 @ 22:40:
Probeer je code tussen [ code ]-tags te zetten next time. Kun je het probleem niet zelf vinden? Hij geeft toch een regel aan waar hij blijft steken met eventueel een foutmelding erbij? Desnoods kun je nog breaks zetten...

Wat gaat er precies mis?

[edit]
En welke onderdelen heb je allemaal op de form gezet?
Er staan een aantal timers in en een frame waarin de slang zich beweegt (het is een soort snake).

Het gaat erom waar ik die die code moet plaatsen voor de adodc1

  • mboy
  • Registratie: December 2001
  • Laatst online: 20-06-2024
:? Hier kunnen we toch geen drol mee. Als je nou eerst eens begint met wat comments plaatsen in je code en de relevante stukken tussen de juiste code tags plaatst, dan wordt alweer een stuk duidelijker wat je precies wilt.

[ Voor 1% gewijzigd door mboy op 01-06-2003 23:44 . Reden: typo ]


  • Noel
  • Registratie: September 2001
  • Laatst online: 20-08 13:40
Met alleen een .addnew & .movenext statement ga je niets wegschrijven naar je database. Je moet de velden in je DB opvullen. Ken de syntax niet exact meer, heb ook geen zin om te zoeken, dus google eventjes naar een oplossing. Of raadpleeg MSDN.

VB zal de fout trouwens wel geven, kan je ook op zoeken..

Een duidelijkere openingspost zou ook al helpen overigens.

Succes.

[ Voor 10% gewijzigd door Noel op 01-06-2003 23:53 . Reden: aanvulling ]

Server: Xeon X3430 21TB RAID 5 | Game: 5900X, 6900XT, dual FS2735 | Mobile: Lenovo X1 Carbon, Thinkpad T440s, Moto G7 Plus


  • mboy
  • Registratie: December 2001
  • Laatst online: 20-06-2024
:? Hij vraagt toch waar hij z'n code moet plaatsen?

Maar het klopt wel wat -Noel- zegt. Om weg te schrijven doe je eerst een .addnew, dan hang je waardes aan de velden van je tabel, en dan doe je nog een keer een .addnew om de zut er daadwerkelijk in te zetten. dus:

Visual Basic:
1
2
3
adodc1.recordset.addnew
adodc1.recordset.fields["[veldnaam]".value = [waarde]
adodc1.recordset.addnew


Maar da was eigenlijk je vraag niet. toch :?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21:31
Om veranderingen weg te schrijven gebruikt je ADODB.Recordset.Update / ADODB.Recordset.Updatebatch

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Je moet het Label Score koppelen aan je ADODC1-component door bij de Label Score de DataSource en ListField in te stellen.
Daarna kun je met onderstaande code de score updaten
code:
1
Adodc1.Recordset.Update
Pagina: 1