Avatar billede hejhejhej Nybegynder
04. oktober 2001 - 18:47 Der er 1 kommentar og
1 løsning

hjælp til database i VB

Jeg er lige begyndt at rode med databser i VB, så er derfor allerede stødt ind i et problem. Jeg har lavet en access database med felterne KundeID, fornavn, efternavn, adresse 1 osv. Og til hver af disse felter har jeg knyttet en textbox ved at sige
\"datasource = data1\" og fx \"Txtfornavn = fornavn\". Jeg har så lavet tre knapper hvor man skal kunne oprette en ny kunde, rette i allerede eksisterende kundeoplysninger og gemmme oplysningerne som indtastes, koden ser ud som følger:

Private Sub CmdGem_Click(Index As Integer)
Data1.Recordset.Update \'gemmer data
End Sub

Private Sub CmdNy_Click(Index As Integer)
Data1.Recordset.AddNew \'tilføjer en ny kunde
End Sub

Private Sub CmdRet_Click(Index As Integer)
Data1.Recordset.Edit \'retter i en kunde
End Sub

Mit problem er så at hver gang jeg indtaster oplysninger ind i en af tekstfelterne kan jeg sagtens ændre data i allerede eksisterende oplysninger og jeg kan også sagtens gemme oplysningerne uden at trykke på \"Gem\"-knappen, og det vil jeg ikke have skulle kunne lade sig gøre, jeg vil derimod have at man skal bekræfte ændringerne som man har foretaget ved at trykke på \"Gem\"-knappen.
Kan dette lade sig gøre?
Avatar billede kisbye Nybegynder
05. oktober 2001 - 08:30 #1
i gem knappen tilføj dette:

dim svar as integer

svar = msgbox(\"Ønsker du at gemme ændringerne?\",VBYesNo + vbQuestion ,\"Gemme?\")
if svar = vbyes then exit sub

Du kan eventuelt låse Dine teksfelter

skriv i form_load:

<Navn>.Locked = true

Hvor navn er navnet på dine tekst bokse.
gør dette ved alle dine felter.

skriv i din edit, og ny knap
<Navn>.Locked = False
og i gem knappen <navn>.Locked = true

Bruger du navigations knapperne på Datakontrolen?.
Dette kan ikke anbefaldes.
skjul den istedet, og lav fire knapper:

Der hedder \"Første\" \"Tilbage\" \"Næste\", og \"Sidste\"

skriv koden for hver knap f.eks:

Næste:

on error resume next
Data1.Recordset.Movenext
on error goto 0

sidste:

data1.recordset.movelast

og så videre.

Så kan du ligesom med Locked \"Disable\" knapperne f.eks:

når man klikker ny
<Tilbage>.Enabled = false

og når man klikker gem <Tilbage>.Enabled = true

Jeg håber jeg har forklaret det godt nok.

Held, Og lykke
V.H Kisbye
Avatar billede kisbye Nybegynder
05. oktober 2001 - 08:32 #2
Ups øverst skulle svar tilfølgelig have været:
if svar = vbNo then exit sub

Bemærk at Dette ikke sletter indholdet af Teksfelterne.

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