Avatar billede mvhansen Nybegynder
08. december 2005 - 20:41 Der er 10 kommentarer og
2 løsninger

søge og slette og retiger i databasen fra en form

Hej Experter

Jeg har lavet et lille program i vb6 med hjælp fra (sjh) hvor jeg sætter data ind i en database. (Access.mdb ) og kan liste disse, men nu kunde jeg godt tænke mig at jeg kunde søge og slette og retiger i databasen fra en form.
Er der en der kan hjælpe/guide mig igennem hvordan man laver dette
Den program jeg har lavet er her http://www.michael.hansen7500.dk/Teccon_Projekt_Liste.rar
Der er en label på form1 hvor jeg gerne vil have den sidste anvendt projekt nr der er blevet skrevet til databasen listet,
vis det kan lade sig gøre, da man skal bruge denne når man skal skrive næste projekt ind i databasen. For at se hvad projekt nr der er brugt sidst

mvh

mvhansen
Avatar billede sjh Nybegynder
08. december 2005 - 21:32 #1
Ha ha.. Du har ikke fået det hele med i din "Autonummerering" åbn din database i "Designvisning" Højreklik på Feltnavnet "ID" vælg den som "Primær nøgle", nu vil der komme et lille ikon af en "nøgle" så skulle den være hjemme.. ;)

Tror du ikke du skulle ha briller.. dine TeksBokse er så store at man skal sette 3 meter fra sin skærm.. :D
Avatar billede mvhansen Nybegynder
08. december 2005 - 21:39 #2
hahaha
Avatar billede sjh Nybegynder
08. december 2005 - 22:27 #3
Her er så din søge ting.. koden skal være på din Form3 :D

Private Sub Command1_Click()
Dim Rs  As Object
Dim Conn As Object
Dim DSN  As String
Dim strSQL  As String
Dim strSearch  As String

  Set Conn = CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & App.Path & "\db\Teccon.mdb" ' <- DIN Dataabase..
  Conn.Open DSN
 
  strSearch = Trim$(Text1.Text) ' <- Din søgeboks (Text1)

  ' Her søger den kun i det felt som hedder "Ordrenr" (..WHERE Ordrenr = ..)
  ' og du SKAL skrive hele nummert fx. 18000
  strSQL = "SELECT * FROM Teccon WHERE Ordrenr = " & strSearch & ";"

  ' Her søger den kun i det felt som hedder "Kunde" (..WHERE Kunde LIKE..)
  strSQL = "SELECT * FROM Teccon WHERE Kunde LIKE '%" & strSearch & "%';"
 
  ' Her søger den i felter "Kunde" og "Ordrenr" (..WHERE (Kunde & Ordrenr) LIKE..)
  ' Det kan man så forsætte..
  ' ..WHERE (Dato & Kunde & Ordrenr & Projektnr & Ordrenr & Beskrivelse & Projekt_opretter) LIKE..
  strSQL = "SELECT * FROM Teccon WHERE (Kunde & Ordrenr) LIKE '%" & strSearch & "%';"

  Set Rs = Conn.Execute(strSQL)
  List2.Clear
  Do While Not Rs.EOF
    With List2 ' <- ListBox
        .AddItem Rs("Dato")
        .AddItem Rs("Kunde")
        .AddItem Rs("Projektnr")
        .AddItem Rs("Ordrenr")
        .AddItem Rs("Beskrivelse")
        .AddItem Rs("Projekt_opretter")
        .AddItem ""
        .AddItem "----------------------------------------------------------------------------------------------------------------"
        .AddItem ""
    End With
    Rs.MoveNext
  Loop

  Conn.Close
  Set Conn = Nothing
End Sub
Avatar billede sjh Nybegynder
08. december 2005 - 22:50 #4
Her er så den som sletter i din database.. men HUSK AT DER ER ALTSÅ IKKE NOGET SOM HEDDER PAPIRKURV har du først slettet det så er det væk.. ;)


Private Sub Command4_Click()
Dim intSletId As Integer
  FileName = "...db\Teccon.mdb"
  Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)

  ' Her vil den slette alt det som har ID 2 derfor var det lidt smart
  ' at du havede lavet din autonummerering (ID)
  intSletId = 2

  SQLQuery = "DELETE FROM Teccon WHERE ID = " & intSletId
  MyDb.Execute SQLQuery
  MyDb.Close
End Sub
Avatar billede mvhansen Nybegynder
08. december 2005 - 23:15 #5
Hej sjh hvordan finder jeg ud af hvem er har id nr 20 eller 500  (uden at starte access op)
og hvordan skal det laves ?
med form4 og textbox og Commandbutten

hvad nu hvis jeg skal have tilføjet nogle data til en kunde alså
rediger nogle kunde data

mvh

mvhansen
Avatar billede sjh Nybegynder
08. december 2005 - 23:32 #6
Ja du skal jo vide hvad ID som skal slettes og det kan du kun gøre ved at finde det..

fx. vise ID

...
....
  Set Rs = Conn.Execute(strSQL)
  List2.Clear
  Do While Not Rs.EOF
    With List2 ' <- ListBox
        .AddItem "ID=" & Rs("ID") ' <- Tilføjet
        .AddItem Rs("Dato")
        .AddItem Rs("Kunde")
        .AddItem Rs("Projektnr")
....
...
Avatar billede mvhansen Nybegynder
09. december 2005 - 00:00 #7
Hej sjh

Jeg har lagt en ny fil op prøv lige og kig på form3
kan man lave sådan
http://www.michael.hansen7500.dk/Teccon_Projekt_Liste.rar


mvh

mvhansen
Avatar billede mvhansen Nybegynder
09. december 2005 - 21:30 #8
Hej sjh

Kan du ikke skære det ud i pap.
som du gjore ved søge funtionen
kan man lave en rettiger funtion så man kan endre data man har skrevet forkert eller tilføje data man har glemt at tilføje
Kan man få vist sidste anvendt projekt nr i en label på form1

mvh
mvhansen
Avatar billede mvhansen Nybegynder
10. december 2005 - 23:40 #9
Hej Sjh

Har du løst til at hjælpe mig færdig
Jeg ved godt at jeg har begivet mig ud i noget jeg ikke har meget forstand på
men jeg har snakket over mig ude på arbejde og sagt at det kunne jeg godt lave.
jeg tror at jeg skal købe mig en bog om vb6 og læse i den inden næste projekt
hahaha

mvh
mvhansen
Avatar billede sjh Nybegynder
11. december 2005 - 04:46 #10
Jeg er desværre blevet forkølet.. og jeg har 1000 andre ting jeg også skal ha lavet..

men prøv at de lidt på strSQL her: http://www.html.dk/tutorials/asp/lektion22.asp det er til at rediger/update i database..

Man skal ikke sige at man kan lave sådan noget nå man ikke er sikker.. og jeg vil altså ikke lave dit programmer bare fordi du har dummet dig. Så må du sige til dem at du ikke kan lave det.
Avatar billede sjh Nybegynder
11. december 2005 - 04:47 #11
men prøv at SE lidt på strSQL her..
Avatar billede mvhansen Nybegynder
11. december 2005 - 11:54 #12
Ok

mvh

mvhansen
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