Avatar billede tigerdyr2007 Praktikant
09. marts 2010 - 21:05 Der er 9 kommentarer og
1 løsning

TRANSFORM First(IIf([Aktiv],"Yes","No")) AS A giver ingen "No"

I relation til mit spørgsmål http://www.eksperten.dk/spm/901099
hvor en del af svaret blev:

TRANSFORM First(IIf([Aktiv],"Yes","No")) AS A
SELECT Q_Service_Signup.PersonNavn
FROM Q_Service_Signup
GROUP BY Q_Service_Signup.PersonNavn
PIVOT Q_Service_Signup.ServiceNavn;

Her får jeg kun "Yes" retur, og No er blanke. Jeg gætter på det har noget med "First(...) at gøre, men fjerner jeg den del får jeg af vide "you have entered a function that is not part of an aggregate..."

Nogen ideer? Løsningen må være lige for, men jeg kan ikke se den.
Avatar billede mugs Novice
09. marts 2010 - 21:13 #1
Hvilken værdi skal [Aktiv] have, før funktionen skal returnere No?
Avatar billede fdata Forsker
09. marts 2010 - 23:07 #2
Mystisk! Min lille testbase returnerer da fint "Yes" og "No" i de relevante felter.
Hvis du kører Q_Service_Signup, ser du så ikke Aktiv kolonnen som en række afkrydsningsfelter, hvor visse er markeret og resten ikke?
Kører du Access 2007? Her er der jo mulighed for at Aktiv kan være "ikke-udfyldt", altså grå. I så fald skal disse posters værdi opdateres til Falsk.
Avatar billede tigerdyr2007 Praktikant
10. marts 2010 - 08:31 #3
Det er præcis som du beskriver fdata, det er ikke udfyldte felter/grå. Dvs. hvis funktion/feltet er tomt skal der stå -1. Skal bruges til at lave et array af check-bokse, og lige nu er dem som ikke er ticket af grå, ser lidt dumt ud... Troede jeg kunne tage den via en formatering af tekstboksen, men nej.

Det er faktisk også et andet sted jeg bruger fdata's svar fra sidst nu. Og der har jeg ikke en [aktiv] for hvert felt i arrayet, men en ukomplet liste. Dem som mangler skal så bare være ikke ticket af og ikke grå.
Jeg kører Access 2007, men den skal også kunne køre på 2003.

Kan man i øvrigt ændre størrelse+farve på en checkboks i en rapport?
Avatar billede fdata Forsker
10. marts 2010 - 22:10 #4
Som udgangspunkt er det ikke smart at have checkbokse, som ikke klart angiver True eller False. Det kan du let komme ud over ved at ændre checkboksenes egenskaber.
Det hjælper ikke at ændre formatet. Det er nemlig kun et udtryk for hvordan felterne vises, ikke hvordan de er definerede.
Du skal ind på egenskabsarket, fanen Data, og rette "TreTilstande" til Nej. Så tvinger du feltet til at være udfyldt eller ej - og så spiller koden.
Avatar billede fdata Forsker
10. marts 2010 - 22:15 #5
... hov, med hensyn til størrelse og farve: Det mener jeg desværre ikke; men du kan (hvis du har mod på lidt programmering) definere nogle rektangler eller bruge symboler fra WingDings el.lign, som du så viser afhængig af checkboksenes værdi. Altså noget i stil med:

Private Sub Detalje ...
  Me.EtEllerAndetTegn.Visible = Me.Checkboks1
  'eller
  If Me.Checkboks1 then
    Me.EtEllerAndetTegn.ForeColor=vbGreen
  Else
    Me.EtEllerAndetTegn.ForeColor=vbRed
  End If
End Sub
(sorry, har ikke lige en Access 2007 her; men du fatter sikkert ideen)
Avatar billede tigerdyr2007 Praktikant
11. marts 2010 - 11:17 #6
Niks, jeg har allerede været efter den med triple-state, hjælper desværre ikke på problemet. Så er der nok kun den hårde programmeringsvej ud af det...
Avatar billede tigerdyr2007 Praktikant
11. marts 2010 - 20:42 #7
Hmm, ingen bud som virker, vi lukker her.
Avatar billede tigerdyr2007 Praktikant
11. marts 2010 - 20:43 #8
Eller vrøvl fra min side, smid et svar fdata for indsatsen...
Avatar billede fdata Forsker
11. marts 2010 - 23:04 #9
Surt (især da min base virker). Men ok. Du bestemmer.
Avatar billede fdata Forsker
14. marts 2010 - 11:23 #10
Takker for point ;o)
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

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