Just nu i M3-nätverket
Jump to content

Access-länkning till textboxar


Cyberdude1

Recommended Posts

Jag använder direktkopplade textboxar för presentation av mina datavärden från en Access-DB. Värdena uppdateras fint och visas utan problem men mitt problem är att läsa in värdet från textboxen till en variabel. Man kan inte använda tex txtText1.Text egenskapen och vilken variabeltyp har värdet, field eller? Går det och hur gör man?

 

Vad säger ni om det här?

Link to comment
Share on other sites

Per Tenggren

Förstår inte riktigt hur du menar men vill du alltså spara de ändringar du gör i din textbox ner i DB-filen eller vad ?

Link to comment
Share on other sites

Ok, jag var kanske lite otydlig. Så här är det. Jag använder VB som ett interface mot min DB och för kommunikation och läsning av DB använder jag bla textboxar som länkas direkt till AccessDB.

 

Dvs, värdet i textboxen är det tabellen anger eller vad SQL-frågan har tagit fram, den biten är det inga problem med.

 

Dock behöver jag göra vissa beräkningar av vissa utvalda värden från DB och dessa kan jag inte uttrycka med SQL (antingen är jag för okunnig eller så är access inte fullkompatibelt med all SQL). Jag måste alltså kunna lagra textboxarnas innehåll i programvariabler för att sedan beräkna dem och skriva ut dem i andra textboxar.

 

Det är just det sistnämnda jag inte lyckats klara av, hur läser jag av innehållet i mina DB-kopplade textboxar?

 

Med vänlig hälsning!

Link to comment
Share on other sites

Per Tenggren

Det är väl bara att skriva typ

 

txtHejsan1.Text = s och sedan använda värdet s som när du räkar ut det du nu ska göra och sedan koppla s till någon anna textbox eller vad som ?!

 

-Per

Link to comment
Share on other sites

Nja Per, tyvärr är det inte så enkelt! Jag har kollat i "watchen" och sett vilket värde .text egenskapen får och det luriga är att den aldrig får något annat värde.

 

Det verkar som om värdet som visas upp bara är en projektion från DB eller query´n, att det aldrig skrivs något värde direkt till textobjektet.

 

Jag är inne på att skapa en variabel av typen "recordset" eller "field" och läsa av DB direkt, men det är en ganska komplicerad procedur (eftersom jag inte kan det än). Tar gärna emot en enkel kodbit som visar hur jag gör!

 

Enklast vore dock om det går att ta värdet från textboxen! Nån som vet???

 

Hej så länge!

 

 

Link to comment
Share on other sites

Per Tenggren

Jsg ska snickra ihop ett exempel som jag har för mig ska fungera, för jag har nämligen gjort så som du beskriver en gång. Men det dröjer kanske ett litet tag, håll ut ;)

 

-Per

Link to comment
Share on other sites

Per Tenggren

Hejsan !

 

Här kommer ett exempel på hur man kan göra. Jag förutsätter att kopplingen till databasen fungerar och är kopplad till olika Textbox. Denna utför lite beräkningar när du trycker på en knapp:

 

Private Sub cmdTest_Click()

Dim a, b, Sum As String

Dim a1, b1, Sum1 As Single

a = txtIn1.Text

b = txtIn2.Text

a1 = CSng(a)

b1 = CSng(B)

Sum2 = a1 + b1

Sum = CStr(Sum2)

txtSum.Text = Sum

End Sub

 

Om jag ska kommentara något eller om Du vill har programmet säg till !

 

-Per

Link to comment
Share on other sites

God morgon,

jag är nog tyvärr lite skeptisk, tycker fortfarande att det ser ut som .text egenskapen används och den fick jag aldrig att fungera:

 

a = txtIn1.Text

b = txtIn2.Text

 

Med normala textboxar skulle detta fungera alldeles utmärkt men är du säker att exemplet kom från ett program med DB-kopplade boxar. Jag ska givetvis ge det ett försök dock och jag meddelar framgången framöver!

 

Tack för intresset! Återkommer snart.

 

Link to comment
Share on other sites

Per Tenggren

Nu får du ge dig, testa innan du klagar. Jag har gjort program och det fungerar hur bra som hellst. Databasen är en Access 2000.

Link to comment
Share on other sites

Hej, ber om ursäkt om jag var lite kantig igår, det var bara det att jag upplevde det som om jag redan testat den vinkeln.

 

Men jag gick hem och konstruerade en knapp på din inrådan och visst funkade det! Sen hackade jag fram min egen lösning på rätt ställe i koden men då funkade det inte.

 

Felet var att jag kopplade och "laddade" boxarna i Form_load() läget och jag trodde man kunde läsa av direkt efter att rätt kodrad exekverats. Tydligen skapas inte "Me" objektet förrän efter load och då gick allt hur bra som helst! Kanske självklart det här, men det knäckte mig!

 

Summa summarum, jag hade fel, du hade rätt! Tack så jättemycket för hjälpen!!!

 

Känner mig hyggligt inkompetent nu!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...