Avatar billede petzenwork Nybegynder
25. maj 2000 - 15:41 Der er 3 kommentarer og
2 løsninger

Få VB til at ændre en værdi i en access database.

Hvordan får jeg f.eks. en command.button til at ændre en combo værdi fra false til true, eller omvendt blot ved at trykke på den.

Det vigtigste er blot at jeg får noget hjælp på hvordan den skal connecte til db'en og hvordan den skal afvikle kommando'en for det har jeg rent ud sagt ikke en skid styr på... :)

Mvh
Peter
Avatar billede jper Nybegynder
25. maj 2000 - 17:30 #1
Jeg er ikke sikker på hvad du mener med en combo værdi hvis det er en checkbox så har den 3 mulige værdier og så er det her en løsning.

Private Sub Command1_Click()
    Select Case Check1
   
    Case 0
        Check1.Value = 1
    Case 1
        Check1.Value = 2
    Case 2
        Check1.Value = 0
   
    End Select
End Sub

Hvis det er en control, variable eller andet som kun har sand eller falsk så er det her en løsning:

Private Sub Command1_Click()
dim blnTest as Boolean

blnTest = not blnTest

end sub

Mht. til databasen så er det forskelligt hvordan man gør alt efter hvilken type det er er det Access eller SQL server eller Oracle??
Avatar billede petzenwork Nybegynder
26. maj 2000 - 13:35 #2
Det er en access db!

Lad os sige at, jeg starte mit vb program... trykker på min command.button vups, så skal den connecte til access db'en og ændre i en checkbox så værdien er sand...

...så klikker jeg igen, så ændre den det til falsk...

Alt det her med db connection gennem vb har jeg aldrig arbejdet med før, så... hvis det kunne blive til en "næsten" færdig løsning vil jeg være meget taknemmelig.

mvh
Peter
Avatar billede jper Nybegynder
29. maj 2000 - 09:07 #3
Hvis du bruger Version 6 af VB så start med at lave et nyt projekt men i stedet for at vælge et almindeligt standard project så vælg Data Project så opretter VB selv en mappe der hedder Designers deri ligger et Dataenvironment1 som du kan bruge til at connecte til Access.

Det der med knappen virker lidt underligt hvorfor skal man klikke på en knap for at connecte er det ikke bedre at have connectionen på formens OnLoad even?

Men eller er syntaxen:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Microsoft Visual Studio\VB98\Nwind.mdb;Persist Security Info=False

For Access 2000 til basen Nwind.mdb

Avatar billede nanodead Nybegynder
30. maj 2000 - 15:45 #4
jper: Dataenvironment1 skal du da kun bruge i tilfølde af at du lave en form for report på dine data'er i din database, og ikke bare trækker / udskifte værdi'er
Avatar billede vbmojo Nybegynder
28. juni 2000 - 13:58 #5
Bare en mulighed. Et DAO 3.5 eksempel på noget jeg selv bruger:

  Set wrkMain = CreateWorkspace("", "admin", "", dbUseJet)
  Set dbProducts = wrkMain.OpenDatabase(App.Path & "\Database\Products.mdb")

Set rstLocaleQuery = dbProducts.OpenRecordset("SELECT *", dbOpenSnapshot, dbReadOnly)


Nu har du så et recordset du kan læse fra.
Når du skal skrive (opdatere), kan du f.eks. gøre det gennem din DB connection:

    '  dbProducts.Execute "UPDATE DitTabelNavn " & "SET DitFeltNavn = True " & "WHERE EtAndetFeltNavnHvisDerSkalVaereBetingelser = 2;"


Håber det kan bruges :-)




Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester