jag har en kodsnutt som slumpar en textsträng ur databasen... Som jag ser det ligger din databas i samma mapp som programmet. Därför behöver du inte app.path (tror jag). Du kan väl testa att ta bort App.path och &-tecknet... ne du.. provade.. men det funka inte.. samma medelande iaf... provade oxå att skriva hela sökvägen.. men utan resultat... nått mer förslag?? Får jag fråga varför du inte vill använda DataControl? Det ser ju knäppt ut. Du kan ju inte sätta en objektvariabel till text??? DaPe: Anledningen till att jag inte vill använda en Data-control är för att jag ska visa mitt program i skolan nästa vecka. de har inte stöd för den funtionen, så mitt program funkar inte där. har gjort en setupfil, men den blev 14 meg stor... får inte plats på min diskett... Använd Alltid Option Explicit lägst upp i dina moduler. Efter som jag stavade fel till konstanterna tolkas det som variabler. Option Explicit hindrar sådana problem.<br> det finns inga konstanter som heter adForwardOnly eller adReadOnly... måste jag ange några speciella referenser?? ja just det.. de funkar nu.. men nu klagar den på raden efter.. den tycker inte om att det står recordset där... Det ska inte stå recordset. Glömde städa bort det från din kod. nu funkar det!!! tack för all hjälp... :))) Det kan jag inte svara på. Skapa en installation för projektet så borde det fungera.Object required...
förut använde jag mig av en data-control, men jag vill inte ha den av olika anledningar... därför bytte jag ut den och ersatte den med bara kod... ser ut så här...
<code>
'Slumpa text från databasen
Set rs1 = (App.Path & "\textrev.mdb")
rs1.RecordSource = "lätt"
rs1.Recordset.MoveFirst
Randomize
rs1.Recordset.Move (Int(Rnd * 30))
lblRevText.Caption = StrReverse(rs1.Recordset.Fields("texter"))
</code>
problemet är bara att jag får ett felmedelande som säger, "Object Required" och så pekar den på &-tecknet... varför, och vad ska jag göra åt det??Sv: Object required...
MvH Dan "DaPe" PerssonSv: Object required...
Sv: Object required...
Jag kollade lite på koden som du skickade till mig. Jag infogade en Datacontrol, döpte den till rs1, satte egenskapen DatabaseName till ditt databasnamn, DataSource till "lätt" och visible till false. Det funkade urbra för mig. Ajustdet ja. Jag tog bort kodraden rs1.RecordSource = "lätt" som du hade skrivit...
MvH Dan "DaPe" PerssonSv: Object required...
Ska du använda recordsetet skriver du någt sånt här:
<code>
Dim conn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim lngMove As Long
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\textrev.mdb;" & _
"Persist Security Info=False"
Set rs1 = conn.Execute("SELECT COUNT(*) As Antal FROM lätt")
If rs1(0) > 0 Then
Randomize
lngMove = Int(Rnd * rs1(0))
rs1.Close
rs1.Open "lätt", conn, adForwardOnly, adReadOnly, adCmdTableDirect
rs1.Recordset.Move lngMove
lblRevText.Caption = StrReverse(rs1("texter"))
End If
</code>Sv: Object required...
Andreas: Tack för hjälpen...men jag får felmedelande nu me... Nu säger den att prgrammet använder felaktiga parametrar, som antingen ligger utanför yillåtet intervall, eller som skapar inbördes konflikt... nått förslag på vad jag ska göra??Sv: Object required...
<br>
Prova med:<br>
<code>
Dim conn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim lngMove As Long
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\textrev.mdb;" & _
"Persist Security Info=False"
Set rs1 = conn.Execute("SELECT COUNT(*) As Antal FROM lätt")
If rs1(0) > 0 Then
Randomize
lngMove = Int(Rnd * rs1(0))
rs1.Close
rs1.Open "lätt", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
rs1.Recordset.Move lngMove
lblRevText.Caption = StrReverse(rs1("texter"))
End If
</code><br>
<br>
Bekräfta konstanterna adOpenForwardOnly och adLockReadOnly genom att placera cursorn i desa och trycka [ctrl] + [space].Sv: Object required...
Sv: Object required...
Sv: Object required...
Kund du inte själv bara provat att ta bort det?
<code>
Dim conn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim lngMove As Long
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\textrev.mdb;" & _
"Persist Security Info=False"
Set rs1 = conn.Execute("SELECT COUNT(*) As Antal FROM lätt")
If rs1(0) > 0 Then
Randomize
lngMove = Int(Rnd * rs1(0))
rs1.Close
rs1.Open "lätt", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
rs1.Move lngMove
lblRevText.Caption = StrReverse(rs1("texter"))
End If
</code>Sv: Object required...
bara en fråga.. om jag nu ska visa mitt program i skolan, kommer det att funka då? det gjorde inte det när jag hade en data-control, det var därför som jag tog bort den...Sv: Object required...