Just nu i M3-nätverket
Gå till innehåll

Hur fasiken...


Ech

Rekommendera Poster

Kan jag säkerhetsställa att man i ett formulär väljer en av 5 st olika kryssrutor inte 2 inte 0 utan just 1.

Kryssrutorna representerar olika rapporter och väljer man inte ett av alternativen så finns ej registreringen med på någon rapport!

 

Access 2003

 

Länk till kommentar
Dela på andra webbplatser

Det är just det som verktyget Grupprutan är till för. Rita ut en gruppruta så starta guiden, där får du sen välja hur du vill presentera valen (alternativknappar eller kryssrutor).

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Tack för jämförelsen med XL-Dennis men tyvärr kan jag bara en liten bråkdel av vad han behärskar. Sen finns ju Excel-experten Monshi här.

 

Löste Gruppruta ditt problem?

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Om du vill att ingen ska vara markerad när du öppnar formuläret så markerar du bara din gruppruta -> egenskaper och sätter standardvärde till 0. Eller syftade du på något annat?

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Jag har 5 st kryssrutor, när jag skapar en gruppruta så får varje kryssruta ett värde från 1-5.

När jag ska spara ner till tabellen efter att ha klickat i en av rutorn så får jag ett felmeddelande, om att typ värde saknas.

När jag skapade kryssrutor "manuellt" förra gången så fick dom antingen värdet 0 eller -1 det får dom inte nu? fast jag skulle vilja det..för rapporterna är alla baserade på att valen är antingen 0 eller -1..?

 

Länk till kommentar
Dela på andra webbplatser

Du gör precis som du gjort innan. I ditt fall så ser bara grupprutan till att användaren inte kan välja fler än ett alternativ. Hur ser din tabell ut? Spar du ner rapportnamn eller har du en kolumn för varje rapport (verkar som det eftersom du har ja/nej typ på kolumnerna/nen)? Hur som helst vore det bra med lite mer info.

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Vi hade lite snack om detta tidigare i denns tråden:

//eforum.idg.se/viewmsg.asp?EntriesId=591789

Detta handlar om en databas där jag registrerar utbildningar, kryssrutorna är olika inriktning på utbildningen.

Kan vara typ:

Miljö

Säkerhet

Data etc.

när jag eller någon annan ska registrera en ny utbildning så måste man välja inrikting iom. att rapporterna är baserade på dessa.

Typ att man vill kolla alla som gått miljöutbildning i år eller nått annan år..

Som det ligger till nu så kan man missa att välja någon av kryssrutorna utan att tänka sig för, och då "försvinner"utbildningen, iom. att rapporterna är statiska i sitt utförande.

 

Länk till kommentar
Dela på andra webbplatser

Ok, är inte riktigt med men för att kolla så ett val är gjort i din gruppruta så kollar du bara så värdet är större än 0:

 

if gruppRuta.Value = 0 Then

Msgbox "Välj inriktning"

else

' Lägg in info

end if

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Antagligen har jag gjort något fel på vägen då jag inte kan få upp någon typ av egenskap eller händelse kopplad till "grupprutan".

Det som finns när jag skapar rutan är 5 st kryssrutor döpta efter mina alternativ, men ingenhändelse är kopplad till dom? klickar jag i en ruta och resten av formulärdata och klickar på sparaknappen så får jag ett fel där access säger att fälten till dom 5 kryssrutorna är tomma, ev. kan jag skapa en händelse till varje kryssruta men då är ju vitsen borta!

vad gör jag fel?

 

Länk till kommentar
Dela på andra webbplatser

Posta lite kod så är det enklare att se problemet.

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Jag vet inte vad jag ska posta för kod...

som läget är nu så genererar inte grupprutan nån kod "isig" den tilldelar däremot när jag ska spara ner alternativet till tabellen ett tal mellen 1-5 vilket inte är ja/nej som datatypen är i tabellkolumnen.

När jag gjorde kryssrutorna "manuellt" förut, så tilldelade jag rutorna ett värde 0 om ingen klickade i rutorna innan man sparade, annars blev det ett NULL-värde och ett felmeddelande.

Klickade man däremot i någon av rutorna så blev värdet -1 (ja/nej) alltså.

så problemet är att det nu blir ett nummer från som sagt 1-5...

 

känns en aning svårförklarat ;)

 

Länk till kommentar
Dela på andra webbplatser

Har du en kolumn med ja/nej, eller har du en kolumn för varje ja/nej-ruta? Skulle du ha bara en kolumn i tabellen så måste du göra en Select Case för att kolla vilken som är ikryssad. 1 för första, 2 för andra....default för inget val. Annars om du har en för varje ska du kunna göra som jag tidigare skrev.

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Jag har en kolumn för varje ja/nej ruta

men som sagt klickar jag i 3:e rutan så blir värdet isåfall 3 och inte ett Ja/nej... eller fattar jag fel. databasen gnäller iaf.

 

Länk till kommentar
Dela på andra webbplatser

Döp din Gruppruta till exempelvis gr. Gå in i VBA-fönstret och bläddra dig till koden som körs när du klickar på knappen för att spara informationen. Där finns det några rader som spar ner till tabellen. Där skriver du:

 

if gr.Value = 0 Then

Msgbox "Välj inriktning"

else

' Här lägger du raderna som spar ner allt till databasen

end if

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Jag får inte nån ordning på grupprutan, så jag funderar på om jag kunde kolla upp dom fem kryssrutorna med samma typ som för grupprutan?

ex:

if Kr1.Value = 0 OR Kr2.Value = 0 OR Kr3.Value = 0 OR Kr4.Value = 0 OR Kr5.Value = 0 Then

Msgbox "Välj inriktning"

else

' Här lägger du raderna som spar ner allt till databasen

end if

 

vad tror du ?

 

Testade med AND också, men jag kom fram till att det inte går hur som helst..

men på något sätt bör det ju gå att kolla om ingen av kryssrutorna är sant/ja så får man ett msgbox om vad man ska göra...

[inlägget ändrat 2004-09-16 21:47:26 av Ech]

Länk till kommentar
Dela på andra webbplatser

Nja, det är nog bättre om du kör med gruppruta. Dra ut grupprutan i formuläret. När wizarden startar skriver du in fyra etiketter (ex. v1, v2, v3, v4, på varsin rad) och klickar på Nästa. Nu markerar du alternativ Nej, markera inte standard. Klicka Nästa. Nu kommer alla kryssrutor få värden mellan 1-4 (om de är mellan 0-3 så ändrar du till 1-4). Klicka Nästa och välj kryssrutor (eller vad du nu vill ha). Klicka Nästa och Slutför. Gå in i designläge för formuläret och högerklicka på din gruppruta och välj egenskaper. Sätt ett namn (exempelvis gr) samt ange 0 som standardvärde. Nu borde du kunna använda den kod jag tidigare postade.

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

[inlägget ändrat 2004-09-16 21:53:03 av OZn]

Länk till kommentar
Dela på andra webbplatser

Låter märkligt :)

 

Kan du posta koden du har i knapptryckningen (alltså där du har if gr.Value etc)?

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Jag har även döpt kryssrutorna i grupprutan till dess namn

 

If grTyp.Value = 0 Then
MsgBox "Välj inriktning"
Else

Sqltext = "[color="#0000ff"]INSERT[/color] INTO tUtbildning " _
    & "(Datum, NastaDatum, Noteringar, Repeteras, Miljo, Sakerhet, Annan, Miljon, Kvalite, Tim, Namn ) VALUES (#" _
    & Me.tbDatum & "#,[color="#ff0000"]'" & Me.tbNastaDatum & "'[/color],[color="#ff0000"]'" & Me.tbNoteringar & "'[/color],'" _
    & Me.kralternativ & "[color="#ff0000"]','[/color]" & Me.krMiljo & "[color="#ff0000"]','[/color]" & Me.krSakerhet & "[color="#ff0000"]','[/color]" & Me.krAnnan & "[color="#ff0000"]','[/color]" & Me.krMiljon & "[color="#ff0000"]','[/color]" & Me.krKvalite & "[color="#ff0000"]','[/color]" & Me.tbTim & "[color="#ff0000"]','[/color]" & Me.cbNamn & "')"

DoCmd.RunSQL Sqltext
End If

 

Länk till kommentar
Dela på andra webbplatser

Sorry, glömde nämna att du måste använda OptionValue när de ligger i en grupp...

 

Lägg till .OptionValue i alla kryssrutor som finns i din sql-sats. Exempelvis:

Me.krAnnan.OptionValue (om den nu är en kryssruta som ligger i gruppen)

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Knepigt.. för när jag gör en gruppruta med dom ändringarna du föreslår, ja då får jag ett fel på en annan kryssruta som inte hör till denna grej.

Det går inte att hitta metoden eller datamedlen för den kryssrutan..?

så jag kommer inte vidare pga. den ligger före i queryn

 

Länk till kommentar
Dela på andra webbplatser

Du ska alltså bara använda .OptionValue på de kyssrutor som ligger i grupprutan. En annan sak är att du kanske vid något tillfälle råkat döpa någon kontroll till samma namn och då ändras automatiskt namnet på en av kontrollerna. Kolla så namnet är rätt på den kryssruta som strular under egenskaper, alternativt ta bort den som strular och lägg in en ny och sätt namnet.

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...