Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skicka variabler mellan formulär

Postades av 2005-04-25 16:08:14 - Jessica Rönnlund, i forum access, Tråden har 11 Kommentarer och lästs av 1277 personer

Hej
Jag har ett formulär där man söker reda på den post man vill ha och får ett värde i en variabel. Ett nytt formulär öppnas i samma veva och här vill jag automatiskt lägga in värdet från förra formuläret i ett avfälten. Hur får jag med variabeln i övergången mellan formulär?

Jessica


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-04-25 16:40:13 - Johan Svensson

Hej,

Du kan göra på flera olika sätt.

Det enklaste är att göra så här:
<code>
'Formulär 1
Form2.Text1.Text = "Mitt nya värde!"
</code>

Detta förutsätter dock att ditt andra formulär heter Form2 och att din kontroll heter Text1. Ändra namnen vid behov.

Den snyggare varianten är att dölja implementeringen och istället skapa en wrapper i fromulär numemr två:
<code>
'Formulär 1
Form2.MinVariabel = "Mitt nya värde!"

'Formulär 2
Private mstrMinVariabel As String

Public Property Let MinVariabel(ByVal NyText As String)
mstrMinVariabel = NyText
If Len(mstrMinVariabel) > 10 Then
mstrMinVariabel = Left$(mstrMinVariabel, 10)
End If
Text1.Text = mstrMinVariabel
End Property
</code>

Det finns flera fördelar med exempel två, t.ex. att man gör sig inte beroende av implementationen i formuläret (du kan t.ex. byta ut din textruta mot en label utan att ändra koden i formulär ett). Eller som i exemplet ovan så kan man juster invärdet så att det inte överskrider vissa ramar (i mitt exempel begränsar jag maxlängden).


Lycka till!

// Johan


Svara

Sv:Skicka variabler mellan formulär

Postades av 2005-05-17 14:50:07 - Jessica Rönnlund

Jag försökte med det du skrev men får felmeddelandet: Körfel nr 91, Objektvariabel eller with-blockvariabel har inte angets. Vad har jag missat?

Formulär 1:

Private Sub Välj_projekt_DblClick(Cancel As Integer)
Dim Form2 As [Form_Lägg till nytt projekt]

Form2.MinVariabel = Välj_projekt.Value

DoCmd.OpenForm "Lägg till nytt projekt"
End Sub


Formulär 2:

Private mstrMinVariabel As String

Public Property Let MinVariabel(ByVal NyText As String)
mstrMinVariabel = NyText
Text178.Text = mstrMinVariabel
End Property


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-05-17 14:58:21 - Johan Svensson

Vilken rad triggas felmeedelandet på?


Svara

Sv:Skicka variabler mellan formulär

Postades av 2005-05-17 15:40:50 - Jessica Rönnlund

Form2.MinVariabel = Välj_projekt.Value


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-05-17 16:00:24 - Johan Svensson

Hej,

Ditt fel beror på att du talar om att din variabel skall vara en referens till ett formulär av en viss typ, men du glömmer att tala om vilket just detta formuläret skall vara.

Ett exempel: Du talar i princip om att du skall köra en röd volvo S80, men inte vilken röda Volvo S80. Så i princip måste du ange registreringsnumret för att datorn skall fatta vilken du avser. Sedan har det ingen betydelse om det endast finns en enda röd Volvo så långt ögat kan nå... Datorer är dumma. :-)

Översatt till din kod så skal du göra så här:

<code>Private Sub Välj_projekt_DblClick(Cancel As Integer)
Dim Form2 As [Form_Lägg till nytt projekt]

Set Form2 = New [Form_Lägg till nytt projekt]
Form2.MinVariabel = Välj_projekt.Value
End Sub</code>

I princip alltså. Det magiska här är att du har en rad med New som skapar ditt formulär, eftersom det inte redan finns aktivt.

Om du nu har ett aktivt formulär så får du plötsligt två identiska aktiva formulär med ovanstående kod, så i det fallet är det bättre att skicka med en referens till existerande formulär till din funktion.

Notera nu också att om du vill manipulera ditt formulär (visa etc) så är det objektet Form2 du skall använda, du skall inte skapa fler formulär med DoCmd.OpenForm "Lägg till nytt projekt".

Lycka till!

// Johan


Svara

Sv:Skicka variabler mellan formulär

Postades av 2005-05-17 16:48:20 - Jessica Rönnlund

Okej, jag blir bara snurrigare och snurrigare =)
Hur öppnar jag Form2 om jag inte får använda DoCmd.OpenForm då?


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-05-17 20:25:36 - Johan Svensson

Hej,

Du kan visa ett formulär med Form2.show

// Johan


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-05-18 08:21:51 - Per Wahlgren

Hej

Varför inte bara sätta standardvärdet i fältet till...

[fältetiformulär2]=[Formulär]![formulär1namn].[fältetsnamniformulär1]

Det borde väl fungera?

/ Per


Svara

Sv:Skicka variabler mellan formulär

Postades av 2005-05-19 08:35:46 - Jessica Rönnlund

När jag skriver Form2.show så klagar den på att det inte går att hitta metoden eller datamedlemmen och så är .show markerat.

Jessica


Svara

Sv: Skicka variabler mellan formulär

Postades av 2005-05-19 09:42:07 - Johan Djupmarker

Pers lösning borde fungera. Formulär har ingen show-metod i Access. Du kan heller inte instansera formulär vad jag känner till.

/Johan


Svara

Sv:Skicka variabler mellan formulär

Postades av 2005-05-19 09:46:24 - Jessica Rönnlund

Jaaa!! Kanon. Nu fungerar det =) Jag använde det med standardvärde.

Tack båda två för hjälpen.

Jessica


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 770
27 960
271 761
525
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies