Jag har sat ett lösenord på databasen. Sedan skapar jag en installationsfil i PDW och lägger till databasen. Om jag har förstått det rätt så har du andvändt DAO 3.6 Du bör nog skicka med lite kod för att det ska bli enklare att hjälpa dig. Jag använder DAO 3.6 Skippa det förbannade ADO köret ,fullständigt djä.. onödigt när du kör mot en Access db. Gocken, läs gärna lite om DAO och ADO och skaffa dig en egen uppfattning. Jag få det att fungera om jag har en statisk adress: cn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _Löesenordsskydd
Installationen av programmet går alldeles utmärkt.
Då jag klickar på .exe filen för att köra programmet och sedan väljer att göra en bokning kommer följande fel upp:
[Microsoft][Drivrutin för ODBC Microsoft Access] Ogiltigt lösenord.
Då jag sedan klickar OK msgboxen kommer nästa felmeddelande upp:
[Microsoft][ODBC Driver Management]Drivrutinens SQLSetConnectAttr misslyckades.
Jag vet att det hara att göra med lösenordet, men hur ska jag hantera detta.
MVH/MarcusSv: Löesenordsskydd
Har du tillverkat ett WorkSpace ?.Har en känsla av att du blandar ihop ADO och DAO ?
Hur ser koden ut som skall öppna DataBasen ?
Fö tycker jag att det där med lösenord oftast är utslag av "paranoia",finns det verkligen
någon på din lokala enhet som vill "sabba" resp. otillbörligt kolla din DataBas ???.
Och om det händer ,vad får det för följder ? är det värt besväret,gör det någon nytta
eller är det bara ett irretationsmoment ?
Ett exempel som du kan testa. Dvs skippa lösenord vid test.
Access DAO
Dim wsp As WorkSpace
Dim db As DataBase
Dim rec As Recordset
'Öppna Access
Set wsp = dbengine.Createworkspace("MinDb","Admin","") 'det sista är lösenord
Set db = wsp.opendatabase("App.Path" & "\minTest.mdb")
Set rec = db.OpenRecordset("BOKNINGAR",dbOpenDynaset) 'eller dbOpenSnapshot
Sen som vanligt "STÄDA" i Form_Unload
Private Sub Form_Unload
On Error Resume Next
db.Close
wsp.Close
Set db = Nothing
Set wsp = Nothing
End SubSv: Löesenordsskydd
Sv: Löesenordsskydd
Har du tillverkat ett WorkSpace?
Nej, vet inte vad det är.
Hur ser koden ut som skall öppna DataBasen?
Public cn As ADODB.Connection
Public Function db(cn As ADODB.Connection) As Connection
On Error GoTo StartConnection_Handler
Set cn = New Connection
cn.ConnectionString = "DSN=Bokningssystem"
cn.Open
Exit Function
StartConnection_Handler:
For Each adoErr In cn.Errors
MsgBox adoErr.Description
Next
End Function
Jag har lagt oavstående kod i en modul och ropar då alltid denna när det behövs.
Ropar på modulen så här:
Set rs = New ADODB.Recordset
sql = "SELECT * FROM Biljett WHERE Datum = '" & cboDatum & "'"
Call db(cn)
rs.Open sql, cn, adOpenForwardOnly, adLockReadOnlySv: Löesenordsskydd
Jag skall hjälpa dig att skriva en snabb säker Db som funkar mot Access.
Läs mitt inlägg ovan och försök omfatta.
Nu kommer det säkert att komma nån "bessewissernisse" och skriva att det är
gammalt och ute finns ingen support osv osv.
"Bull" det är ett mycket väl dokumenterat fungerand effektivt db system
som är optimalt mot Access.
I Gockens ex vet jag att det rör sig om max 600 poster så Access och DAO 3.6 är perfekt.
Så här svarade jag på din dubbelpostning i Databaser
Stämmer när du nämner det. System.mdw måste finnas/bifogas.Sv: Löesenordsskydd
Båda har brister.
Går du över till vb.net är det ADO som gäller men är rejält omskriven där.
Läs och lär om historien till DAO, oleDB, ADO, ADO.net
Själv har jag lämnat DAO och använder endast ADO mot både Access och SQL server både i vb och asp.Sv: Löesenordsskydd
cn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=C:\Documents and Settings\Marcus\Mina dokument\Mina program\Bokningssystem\Databas\Bokningssystem.mdb;" & _
"Uid=;" & _
"Pwd=a"
Men inte om den ser ut som nedan med App.Path. Jag vill ha App.Path så att kopplingen blir mer flexibel. Men jag vet inte var jag ska sätta fnuttarna?
cn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=& App.Path & \Databas\Bokningssystem.mdb;" & _
"Uid=;" & _
"Pwd=a"Sv: Löesenordsskydd
"Dbq=& App.Path & \Databas\Bokningssystem.mdb;" & _
"Uid=;" & _
"Pwd=a
borde vara
cn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & App.Path & "\Databas\Bokningssystem.mdb;" & _
"Uid=;" & _
"Pwd=a
Prova
Skapa gärna strängen i en variabel först
Dim conn as string
conn ="Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & App.Path & "\Databas\Bokningssystem.mdb;" & _
"Uid=;" & _
"Pwd=a
cn.Open conn
så ser du enklare om den blivit riktigt hopsatt