Hej! Jag är en glad amatör som gjort ett litet enkelt spelprogram. Nu skulle jag vilja lagra spelpoäng för att kunna se bästa resultat. Jag har därför tänkt lagra dem i en Accessdatabas. Databasen har jag gjort, men jag har inte en aning om hur jag ska få mitt program att ansluta till databasen. Tanken är att jag ska kunna se högsta poäng, mitt högsta poäng och mata in nytt poäng om jag slår tidigare. Jag antar att jag måste använda mig av SQL för att få tidigare rekord, men jag behöver hjälp med att mata in, och koppla mig till databasen. Finns det någon vänlig själ som kan ge mig något lättbegripligt kodexempel eller tala om var jag kan få hjälp? Jag tror du gör det svårare än de behöver vara genom att använda Access och SQL. Jag har också gjort enkla spel där hajskår lagras i en vanlig textfil. Anat förslag kan ju vara att lagra det i registret. Fast då blir det nog lite avancerat om du inte nöjer dig med GetSetting och SaveSetting. Jag tuffar på ändå med databasen. Jag har lyckats koppla databasen så att jag kan lagra resultaten, men jag har problem när det gäller att visa dem. Jag har en klass som sköter kommunikationen med databasen. Koden ser ut som följer: Ska inte vara ; utan , mellan Namn och Poäng: Jag gjorde om det så att jag visar resultaten från databasen i två textboxar kopplade till en ADOdc-komponent. Jag tycker dock inte att den är så snygg, så jag undrar om man kan göra den osynlig och ha en knapp som man kan stega mellan posterna med. Jag skulle även vilja att textboxarna bara skall visa poster när jag trycker på en knapp. Är detta möjligt, och i så fall hur? HejKoppla till databas
Tackar på förhandSv: Koppla till databas
Sv: Koppla till databas
Sv: Koppla till databas
Dim objConn As ADODB.Connection
Dim objRS As ADODB.Recordset
Dim strSQL As String
Public Function openConnection(ByVal connectstring As String) As Boolean
Set objConn = New ADODB.Connection
objConn.CursorLocation = adUseClient
objConn.Mode = adModeReadWrite
objConn.Open connectstring
If objConn.Errors.Count = 1 Then
openConnection = True
Else
openConnection = False
End If
End Function
Public Sub addNew(ByVal name As String, points As Integer)
MsgBox name
strSQL = "INSERT INTO Resultatregister (Namn, Poäng) VALUES ('" & name & "','" & points & "');"
objConn.Execute (strSQL)
End Sub
Public Function hamtaAllt() As ADODB.Recordset
Set objRS = New ADODB.Recordset
Set objRS = objConn.Execute("SELECT * FROM Resultatregister ORDER BY Namn; Poäng;")
Set hamtaAllt = objRS
End Function
Private Sub Class_Initialize()
Set objConn = New ADODB.Connection
End Sub
Private Sub Class_Terminate()
objConn.Close
Set objConn = Nothing
End Sub
Jag kan som sagt lägga in nya resultat i databasen, men när jag anropar funktionen "hamtaAllt" får jag felmeddelandet:
[Microsoft][ODBC Microsoft Access97 Driver]Characters found after end of SQL statement
Vad betyder meddelandet? Vad gör jag för fel?
Tacksam för svar.Sv: Koppla till databas
Execute("SELECT * FROM Resultatregister ORDER BY Namn, Poäng;")Sv: Koppla till databas
Sv: Koppla till databas
>så jag undrar om man kan göra den osynlig och ha en knapp som man
>kan stega mellan posterna med.
Du bör väl ha två knappar så du kan stega åt båda hållen
Skulle kunna se ut så här med två kanppar i kontrollarray
Om jag fattat rätt så har du ett SQL recordset som heter hamtaAllt
Private Sub cmdNav_Click(Index As Integer)
On Error Resume Next
Select case Index
Case Is = 0
hamtaAllt.MoveNext
If hamtaAllt.EOF Then hamtaAllt.MoveLast
Case Is = 1
hamtaAllt.MovePrevios
If hamtaAllt.BOF Then hamtaAllt.MoveFirst
End Select
End Sub
mvh
Sven