Avatar billede JJ77 Juniormester
30. november 2003 - 23:28 Der er 17 kommentarer og
1 løsning

Udskrive fra tabel til textboks med sqlsætning

Hej...
Hvordan udskriver jeg fra en tabel til en tekstboks. Min tabel hedder medarb. Jeg prøver med noget der ligner "select * from medarb where nr=363".... problemet ligger i hvordan jeg får disse data udskrvet til min tekstboks... har også prøvet med DBGrid, men der viser den først en række når man klikker med musen på selve DBGridden. Den starter med at vise alle rækker.. som om at den først opdaterer min sqlsætning når man klikker på den..... Herunder kommer der lige lidt kode..

Private Sub DBGrid1_Click()
Data2.RecordSource = "Select * from medarb where nr=368"
Data2.Refresh
End Sub

Private Sub Text1_Change()
Data2.RecordSource = "Select * from medarb where nr=368"
Data2.Refresh
End Sub
Avatar billede martin_moth Mester
01. december 2003 - 07:46 #1
_Change? Er du sikker på at det er den event du vil bruge?

Jeg forstår ikke hvad du vil - vil du læse fra en database over i en textbox, over i et DBGrid, eller hvad?
Avatar billede JJ77 Juniormester
01. december 2003 - 20:25 #2
Ja det er præcis det jeg vil... jeg vil hente noget data fra min tabel over i en textbox ell over i et DBGrid..... problemet kommer også først når jeg sætter nogle kriterier for søgningen, og kun vil ha vist et resultat "Select * from medarb where nr=368"
Avatar billede martin_moth Mester
01. december 2003 - 21:20 #3
Jeg forstår ikke hvorfor du har en _Change event?
Virker det hvis du vælger * UDEN at skrive Where nr=368....?
I øvrigt skal du måske skrive nr='368'
Avatar billede JJ77 Juniormester
01. december 2003 - 21:26 #4
ved heller ikke om det skal være en change event.. hvad ska det ellers være?? der er ikke noget galt med sqlsætningen den virker fint... det er bare som om at den ikke bliver opdateret før jeg klikker på datagridet.. meget mystisk
Avatar billede martin_moth Mester
01. december 2003 - 22:34 #5
Ved du hvad _Change eventen betyder?

Det er IKKE en event der ændrer indholdet af textboxen, men det omvendte, nemlig en event der bliver kørt når textboxen ændres
Avatar billede JJ77 Juniormester
01. december 2003 - 22:40 #6
Her er mit dbgrid..... det er denne her der først opdaterer når jeg klikker på selve layoutet på datagridet..... hvis det ikke skal være en _click, hvad ska det så ellers være??? den skal bare udføre kommandoen når siden bliver startet...

Private Sub DBGrid1_Click()
Data2.RecordSource = "Select * from medarb where nr=368"
Data2.Refresh
End Sub


Her er så min textbox..... og hvad skal den så være hvis den automatisk skal udføre handlingen når siden bliver startet

Private Sub Text1_Change()
Data2.RecordSource = "Select * from medarb where nr=368"
Data2.Refresh
End Sub
Avatar billede martin_moth Mester
01. december 2003 - 22:45 #7
_Click er fint hvis du vil have det udført når du klikker :o)

"automatisk skal udføre handlingen når siden bliver startet" - når "siden bliver startet"???? Hvad mener du?
Avatar billede JJ77 Juniormester
01. december 2003 - 22:47 #8
ja når man starter programmet så viser den en side. på denne side er der en textbox og et dbgrid..... det er dem der skal vise de på gældende data
Avatar billede JJ77 Juniormester
01. december 2003 - 22:50 #9
hvis jeg nu fx sku se hvor mange der lå af en bestemt vare på en side i en textbox eller i et datagrid... så den fx søgte på select * from Antal where Produkt-id=200;  altså så man ka se hvor mange der er på lager af den pågældende vare
Avatar billede martin_moth Mester
01. december 2003 - 22:56 #10
Hvad mener du med "side"?
Avatar billede JJ77 Juniormester
01. december 2003 - 22:59 #11
sådan en side man nu kigger på når man starter et program.. det ku fx være en startside... altså en Form, hvis det så fremstår klarere... men er et dbgrid, eller en textbox ikke det samme om de så var på månen... LOL
Avatar billede martin_moth Mester
02. december 2003 - 08:21 #12
Jeg prøver bare at forstå hvad du mener...

Med "automatisk skal udføre handlingen når siden bliver startet"  mener du altså,at når formen loades. Så put den i formens _Load event i stedet for textboxens _Change event
Avatar billede JJ77 Juniormester
02. december 2003 - 19:28 #13
Ok.... så meget desto klarere.. jer er lidt grøn på dette område...
ka godt se hvad du mener med at koden skal puttes i formens load event.. men hvad af koden skal i formens load event???? og hvordan får jeg data fra formens load event og til min textbox????? hmmmmmm.... virker altså lidt kompliceret for mig...
Avatar billede martin_moth Mester
02. december 2003 - 21:28 #14
Jeg tror du skal dyrke begrebet event-driven programming lidt.

VB er et eventstyret programmeringssprog - der sker kun noget når brugeren gør noget bestemt - f.eks. klikker på noget med en mus. Hvis brugeren gør det, "rejser" han en event _Click for den kontrol han klikker på, og den kode der står i den event bliver afviklet.

Smid de stumper kode du vil have afviklet i de events der skal afvikle dem.

Vil du fx. skrive "hej" i en textbox når en form loades, skriver du
  Text1.Text = "Hej"
i formens load-event. Hvis du i stedet vil læse noget ind fra en database gør du det i stedet for..
Avatar billede JJ77 Juniormester
02. december 2003 - 23:36 #15
Hej....
Jeg bliver klogere hele tiden, og der er efterhånden nogle lys som går op for mig... hurraaaaa...... men jeg ka stadig ikk få det til at virke.. måske jeg er lidt duuuummmm... men ska det ikke se sådan ud her hvis jeg skal ha medarbejderfornavnet hvor hans nr er 368 ind i min text1box..????
eller ka du ikke lige omskrive den så den virker.. pleace... du ska nok snart få dine point... det lover jeg .... du har jo allerede hjulpet meget.

Private Sub Form_Load()
Data2.RecordSource = "Select fornavn from medarb where nr=368"
Text1.Text = "Data2"
End Sub
Avatar billede martin_moth Mester
03. december 2003 - 09:45 #16
Hvordan connecter du til din database? Prøv at vise hele din kode
Avatar billede JJ77 Juniormester
04. december 2003 - 16:44 #17
jeg connecter til min database via "Data2" som er en lille boks med pile på.. så jeg har ikke sådan en rigtig connection skrevet i hånden. troede at det var nok at hente dataene fra den, og så bare sortere dem efter min forespørgsel
...
Men hvis du ka hjælpe.. hvordan sku den så se ud? altså en rigtig connection??? min database hedder "db1.mdb" og ligger på mit c-drev med stien C:\Documents and Settings\Jacob\My Documents\Programmering\Visual Basic\Database Manipulation\db1.mdb

ka du ikke vise et eksempel der virker??? det ku være cool... og meget gerne et der skriver resultatet til min textbox der hedder "text1"
Avatar billede martin_moth Mester
04. december 2003 - 18:18 #18
Øhh - blander du ikke det hele sammen. Du har en datakontrol, men så vil du sende SQL-udtryk af sted? Lad mig lige sprøge - er der noget som helst der virker i dit program mht. databasen?

Hvis du vil se hvordan man gør uden en datakontrol men med SQL udtryk så er der masser at kikke på her:

http://www.eksperten.dk/kat/5?searchtype=txt&words=database&method=and&sort=score&catid=5

Princip:

Opret forbindelse til mellem en variabel af typen data og databasen (med en connectionstring)
Læs data ind i en variabel af typen recordset med et passende SQL-udtryk (SELECT ....)
Brug posterne i dit recordset som du ønsker, fx. udskriv dem til en textbox
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