Brug af Frontspeed

Copyright 2011-2012 by Frontspeed/Auisoft ApS

Sidst opdateret 2012-08-30

Denne side indeholder guide, tips og FAQ

Indhold:

Frontspeed Quick-Start Guide

Hvad er Frontspeed

Nøglebegreber

Frontspeed projekt

Frontspeed element

Opslagstekst

Brugergrænseflade-specifikation

Primærnøgle

Felt

Kolonne

Kontrol

Indledende skridt

Andre nøgle funktioner

Tips til design af database

Brugergrænseflade til redigering af poster

Slutbruger features

Live søgning i data listen

Creator (Design Manager tidl.)

Tilføj en opslagstekst manuelt

Emner

Forudfyldte værdier (defaults)

Om sortering

Visning af linjer med en udefineret værdi før eller efter alle med defineret værdi

Logon-indstillinger

Sådan laver du en ”Klik relation liste”

SQL til andre klik relationer (avanceret)

Advanceret Lookups med linkede parametre

Metode starter Frontspeed element/starte en database stored procedure

FAQ (Ofte spurgte spørgsmål)

Frontspeed Quick-Start Guide

Frontspeed består af to dele.

•        Frontspeed Creator

•        Frontspeed (Windows slutbruger klient)

Hvad er Frontspeed

Frontspeed bruges ifbm. at rette i data.

“Frontspeed” er det program der bruges til dette af de fleste brugere (bruger-brugerne). De vil også kende dette program blot som ”Frontspeed”. For udvalgte brugere (Creator brugerne) vil der derimod være et tilgængeligt værktøj, som kan bruges til at konstruere systemer til bruger-brugerne. Dette er ”Frontspeed Creator”. Quick start guiden er rettet mod at konstruere et system i Frontspeed Creator.

Frontspeed er lidt forenklet sagt, en data tabel editor, som defineres undervejs af Creator brugeren, bla. mens det bliver brugt til faktiske arbejdsopgaver .

Nøglebegreber

Nøglebegreber er ord, som bliver brugt i Frontspeed i en bestemt mening. Herunder vil du kunne finde mere information samt forklaring på, hvad de forskellige begreber betyder.

Frontspeed projekt

Et Frontspeed projekt definerer brugergrænsefladen til et informationsbehandlingssystem. Det består af Frontspeed elementer med hver en eller flere brugergrænseflade specifikationer. Et projekt kan gemmes som en fil og har typen FSPX (Fx “Frontspeed.FSPX”).

Frontspeed element

Et projekt er primært en samling af Frontspeed-elementer. Et element ved hvordan det får fat i en sæt af data (sættet af data vil normalt have en repeterende struktur, fx en liste af bøger (Titel, Forfatter osv.))

Opslagstekst

I data-lagre vil man normalt finde en del nøgler (som tal) i stedet for konkrete tekster. Dette design er god latin, men gør at rå data ikke er let at fortolke for mennesker. Vi skal have hjælp med at finde den - for os - meningsfulde værdi i stedet. I et eksempel med bøger kunne det være at der ifbm. en bog er oplyst en nøgle til forfatteren og ikke direkte forfatterens navn. Så du har måske tallet 514 som forfatter... Med denne nøgle kan du slå forfatterens navn op et andet sted. Når du har en konstruktion i Frontspeed, som kan gøre dette fuldautomatisk, så kalder vi det en ”opslagstekst”. (Eller rettere, i relation til projektet, en specifikation af en opslagstekst.) Ofte vil du, når der er defineret en opslagstekst, for et givent felt, automatisk kunne få en dropdown boks, hvor du kan vælge mellem alle gyldige værdier for datafeltet. Det er en simpel, men kraftfuld og vigtig feature i Frontspeed.

Brugergrænseflade-specifikation

En brugergrænseflade-specifikation er fx hvad der skal være i et redigeringsvindue for en enkelt bog. Det kan være at bogens navn indtastes i en tekstboks og forfatteren kan vælges i en drop-down liste.

Primærnøgle

Hvis data skal kunne redigeres, har Frontspeed brug for en nøgle værdi som identificerer data. Normalt angives blot primær nøgle felt navnet her, men sammensatte nøgler med flere felter er også tilladt og kan adskilles med ;

Felt

Er et datafelt i data laget (databasen).

Kolonne

Er en kolonne i en grid liste.

Kontrol

En data redigerings eller data fremvisnings dims på en skærm.

Indledende skridt

Trin 1: Start ”Frontspeed Creator”

2: Nyt projekt

Når programmet er startet, er der automatisk et nyt projekt igang og du kan begynde at arbejde i det med det samme.

3: Angiv indstillinger omkring forbindelse til din database

Herefter skal du have lavet en forbindelse til din database. Dette gøres under fanebladet ”Database”.  Her angiver du forbindelsesindstillinger. Som det første vælger du database-typen. Forbindelsesindstillingerne afhænger af din database og det konkrete miljø. Du skal muligvis have din evt. IT-afdeling til at hjælpe med informationerne. Vi kommer også gerne ud og hjælper med at få det startet.

4: Tilslut til databasen

Hvis du kobler forbindelsen til, ved at trykke på tjekboksen ”Tilsluttet”, så vil Frontspeed spørge om lov til at oprette Frontspeed Elementer ud fra de informationer der kan findes i din database. Du vil derefter kunne se dine tabeller i bunden af skærmen under ”Frontspeed elementer”.

5: Åbn et Frontspeed element

Efter du har fået åbnet din database, trykker du på fanebladet ”Data”. I listen af Frontspeed elementer kan du nu finde noget du vil arbejde videre med. Du vælger, hvilket element du vil arbejde med ved, at klikke på det i listen. Når det er valgt, vil den øverste del af ”Data” tabben vise informationer, som relaterer sig til det valgte Frontspeed Element. Det er både indstillinger og data, som elementet udpeger. Udpegning af data foregår via et SQL forespørgselsudtryk. Det giver en næsten ubegrænset fleksibilitet, når der er brug for det. I de fleste tilfælde er det SQL udtryk, som Frontspeed allerede har fyldt ind passende og behøver ikke ændres. Åbn dataindholdet ved at trykke på [Åbn Frontspeed element].

Du kan nu se data i grid listen ovenover knappen.

6: Redigering i data fra databasen

Du kan redigere i data nu. Hvis du ændrer noget så bliver de ændrede felter lyseblå. Dette viser, at de er forskellige fra originalen, dvs. det som ligger i databasen. Du kan slette en linie ved at krydse ”Slet” kolonnen af.

Du kan indsætte en ny linie (record) ved at pile ned i grid listen.

Den tilstand, hvor data ikke gemmes øjeblikkeligt, kan skiftes til en tilstand hvor der gemmes med det samme en linie forlades. Det gøres via toolbarens ”Gem staks tilstand” knap. Denne tilstand er den der køres med i Frontspeed Windows klient programmet, for bruger-brugerne.

7: Redigering i en record via ”Rediger linie” vinduet

Direkte redigering i listen er ikke den eneste måde at rette i data på. Du kan klikke på den lille [...] knap i venstre side af hver linie (alternativt vælge samme funktion via ”Rediger linie” menupunktet i ”Rediger” menuen.)

Når funktionen vælges, laver Frontspeed øjeblikkeligt en brugerflade til redigering af en record i listen.

Denne automatisk genererede brugerflade kan du tilpasse og det er en af hoveddiciplinerne i Frontspeed Creator.

8: Ændring af en brugerflade

Vælg ”Rediger brugerflade” i ”Element” menuen. Her kan du detaljeret se og rette alle indstillinger for kontroller i brugerfladen for ”Rediger linie”. Du kan fx tilrette om en felt-kontrol skal være låst for redigering.

9: Aflevere et projekt til bruger-brugerne

Du afleverer et project ved fx at give filen med projektet til bruger-brugeren. Efter at en bruger-bruger har installeret Frontspeed klienten, kan man blot dobbeltklikke på projektet og Frontspeed klienten vil så åbne og basere sig på dette projekt. Du kan også gøre det på en anden god måde. Kopier Frontspeed ikonet fra Windows Start menuen, fx ud på desktoppen. Højre-klik på den og vælg ”Egenskaber”/”Properties”. I ”Destination”/”Target”, indsæt den fulde sti til projektfilen og klik [OK]. Brugeren kan nu starte projektet via ikonet. Når programet starter, vil det se ud som om, at det er programmeret til at gøre det du blot har specificeret i projektet via Frontspeed Creator.

10: Brug af Frontspeed klient

I Frontspeed klienten har du et meget simpelt grund-brugerinterface. Du kan i ”Tilgængelige lister” drop- down boksen vælge en af de Frontspeed elementer, du har arbejdet med i Frontspeed Creator. Når et element vælges, bliver data åbnet med det samme og du kan redigere i data via det brugerinterface du definerede i Frontspeed Creator.

Afslutningsvis:

Du kan allerede nu begynde at lave simple redigeringsværktøjer til bruger-brugerne. Der er dog nogle andre vigtige muligheder du sikkert får brug for med tiden, nemlig:

Andre nøgle funktioner

Andre måder at hente data til et Frontspeed element:

Det er muligt at bruge SQL udtryk som samler data fra flere tabeller. Fx

SELECT *

FROM Order O

  JOIN OrderLine L ON L.OrderId = O.Id

Andre måder at gemme data:

Vælg menupunktet ”Rediger Frontspeed element indstillinger” i ”Rediger” menuen.

Her kan du vælge at få data fra databasen gemt via en stored procedure, istedet for via SQL UPDATE/INSERT/DELETE kommandoer. Det kan være nødvendigt hvis data kommer fra flere forskellige tabeller eller hvis database ejeren forlanger det.

Login:

Du kan anvende virksomhedens generelle logon system ved at konfigurere dette i Frontspeed. Du finder det via ”Rediger projekt-indstillinger” menupunket i ”Projekt” menuen.

Backup

For hver gang man gemmer et Frontspeed projektfil, bliver der oprettet en backup af den gemte fil i en”Backup” folder sammen med filen.

VIGTIGT: Hav altid en kopi af databasen. Du kan komme til at lave ting i dine data du ikke ønsker eller der kan opstå fejl så data påvirkes. Der er i Frontspeed ikke nogen decideret låsningsmekanisme, så brugeren der sidst opdaterer data vinder. Det er på den måde ikke et fuldbyrdet multibruger system i den forstand mht. låsning mens man redigerer.

slut på quick start

Tips til design af database

En velgjort database er ligesom et godt fundament under dit hus, du kan bygge videre på det og stole på det. Det er meget dyrt at lave om når du først har bygget på det, så jo bedre det gøres ja, jo bedre...

Sidst men ikke mindst, få gerne lavet et review på dit design.

Brugergrænseflade til redigering af poster

Forudsætning: du har skabt et Frontspeed element og kan få vist en liste med indhold i Frontspeed Creator med data vedr. det du har angivet du vil se.

Du kan nu redigere posterne i listen direkte i listen. Hvis du istedet trykker på ”Rediger linie” knappen i venstre side af hver enkelt linie i listen, vil Frontspeed vise ”Rediger xyz linie” vinduet. (Kan også vælges via ”Rediger post” i ”Rediger” menuen.

Den brugerflade du ser i vinduet er lavet af Frontspeed Design Manager automatisk, men du kan tilpasse den som du har lyst til mht. indhold o.a..

For at gøre dette vælger du ”Rediger brugerflade” i ”Rediger” menuen.

Dette åbner ”Rediger brugerflade” vinduet.

Her er der en liste med alle de kontroller/egenskaber der findes i Frontspeed elementet. Hver af disse kan redigere eller vise et felt/en egenskab i dine data. Hver har en række indstillinger du kan ændre:

Feltnavn:

Opslag:

Synlig:

Visningstekst:

Validering:

Valideringsfejl besked:

Redigeringstype:

Skrivebeskyttet:

Krævet:

Beskrivelse:

Sorteringsrækkefølge:

Linieskift:

Bredde:

Feltstørrelse:

Feltstørrelse:

Under listen finder du 3 knapper hvor du kan vælge hvor finkornet du definerer brugerflader til Frontspeed elementet. Om samme brugerflade skal bruges til ”Rediger linje” vinduet OG listen eller om der skal være to separate. Eller om det skal være samme, blot med forskel på synlighed af de forskellige kontroller.

Når du har ændret i en brugerflade vil du kunne se ændringerne med det samme du bruger denne brugerflade, dvs. fx når du åbner Frontspeed elementet igen eller redigerer en linje i dine data via ”Rediger linie”.


Slutbruger features

Live søgning i data listen

Live-søge funktionen bruges til at fremsøge en linje i en liste ud fra en værdi i et felt.

Slå live søgning til ved at klikke på toolbar knappen eller via menuen “Rediger”.

Klik et felt under den kolonne du vil søge i. Ofte vil du først sortere kolonnen ved at klikke kolonne indtil der kommer et sorteringssymbol frem på den.

Når du har sat fokus i et datafelt, starter nu blot med at indtaste fx det første bogstav i det du søger efter. Programmet vil nu finde den første linje hvor første bogstav er det samme som det du har tastet og vil markere dette via farve og indramning. Indtast nu andet bogstav og programmet søger igen for at finde første match af de to bogstaver du har indtastet.

Hvis du vil springe til næste linje som også matcher din indtastning tryk Ctrl+pil ned

Hvis du vil tilbage til forrige tryk Ctrl+pil op

Creator (Design Manager tidl.)

Tilføj en opslagstekst manuelt

Opslagstekster tilføjes normalt automatisk til et Frontspeed element, ved at vælge "Opret opslagstekster for Frontspeed element" i "Nyt" menuen. I sjældne tilfælde vil der i stedet være brug for oprette en opslagstekst manuelt, enten hvis databasen ikke indeholder nok information til at Frontspeed selv kan finde ud af det, eller hvis man ønsker afvigende indstillinger.

For at tilføje en opslagstekst manuelt skal du starte med at vælge funktionen "Tilføj opslagstekst" i "Nyt" menuen.

Dette vil åbne "Tilføj opslagstekst" vinduet.

I vinduet er der en række felter:

"På udvalgt nøgle felt"

I denne dropdown boks kan du vælge et af felterne i det datasæt der ligger bag Frontspeed elementet. Ud fra dette felt er det du ønsker at se en anden værdi (opslagsteksten).

"Opslagstekst reference (valgfrit) (navnet på et andet Frontspeed element)"

Her kan du vælge en af de andre Frontspeed elementer i projektet. Det har den effekt at Frontspeed i dette element så kan aflæse et tabelnavn. Hvis Frontspeed kan det, vises tabelnavnet under "Forslag". Det tabelnavn Frontspeed eventuelt kan finde frem til er tabelnavnet angivet under "Datalager tabel-navn" fra referencen.

Når der er et tabelnavn under "Forslag" kan man trykke på [Brug] og tabelnavnet kopieres så til "Opslagstekst tabel navn" feltet.

"Opslagstekst tabel navn"

Her angives navnet på den tabel der skal slås op i.

Det kan også være et view.

"Opslagstekst visningsfelt navn"

Her angives navnet på et felt som skal vises fra den tabel der slåes op i.

"Navn på denne opslagstekst definition (valgfrit)"

Her kan et navn på selve opslagstekst definitionen (den man laver via dette vindue) angives.

Hvis du angiver et navn vil det i visse tilfælde bruges som titel på opslagstekst feltet i brugerflade senere automatisk.

(Du vil kunne rette navnet til på individuelle kontroller/felter, navnet her bruges blot som et initielt forslag).

[Advanceret]

Hvis du trykker på denne knap dukker følgende frem:

"Tilpasset SQL forespørgsel"

Her kan du angive din helt egen SQL forespørgsel som alternativ til at Frontspeed genererer et ud fra overstående indstillinger.

Hvis du angiver en tekst her ignoreres "Opslagstekst tabel navn" indstillingen fra ovenstående.

Du kan bruge muligheden hvis du vil lave noget helt specielt. I nogle tilfælde vil det være bedre at lave et view i databasen og bruge dette istedet.

Emner

Forudfyldte værdier

Du kan angive en foruddefineret værdi for et felt via "Brugerflade" i "Foruddefineret værdi" feltet.

Der kan angives:

>>>PersonId

>>>UserId

Om sortering

Visning af linjer med en udefineret værdi før eller efter alle med defineret værdi

Det gøres ved i SQL udtrækket at bruger en “order by” med følgende konstruktion (hvis det er et felt "Id" der skal sorteres efter):

order by

 case isnull(Id, 0) when 0 then 1 else 0 end

Så kommer alle med defineret Id (altså not null) før alle som ikke er defineret (som er null).

Hvis det ønskes omvendt kan er det nemmest at sætte DESC efter.

Logon-indstillinger

Frontspeed kan indstilles til at kræve log on i Frontspeed slut bruger klienten.

Det kræver at logon løsningen er implementeret via http forespørgsler, men kan så nemt konfigureres i Frontspeed.

Hvis logon løsningen ikke har et http interface er det normalt relativt enkelt at bygge det på systemet. Det kan en it leverandør hjælpe med.

Forudsat at der findes et http interface konfigureres Frontspeed således:

Vælg menupunktet "Rediger projektindstillinger" i "Rediger" menuen. I vinduet som kommer frem, klik på "Frontspeed Explorer Logon".

Herunder er de forskellige felter forklaret:

"Fuld HTTP forespørgsel tekst URL"

I denne angiver du den HTTP URL der skal sendes afsted. Du kan angive forskellige tags i teksten som udskiftes med antuellle brugernavn og password under udførslen.

Eksempel:

https://ourdomain.com/CheckUser.asp

Du kan bruge følgende:

< UserName>

< User>

< UserID>

< Password>

< UserPassword>

I "Forespørgsel parameter tekst" kan parametere som skal sendes med skjult angives.

Her kan du bruge linieskift.

Fx:

UserName=<UserName>

& UserPassword=<UserPassword>

I "Log på var en succes" angiver du det svar serveren sender tilbage hvis log på gik godt.

Det kan fx være en tom streng. Du kan også bruge de tags som er nævnt ovenover. Det kan fx være relevant hvis serveren sender brugernavnet tilbage som svar på succes.

I "Ingen service" angiver du den streng serveren sender tilbage hvis den vil fortælle dig og brugeren at den ikke kan komme i kontakt med det bagvedliggende logon system.

For de efterfølgende felter er princippet det samme.

Du skal kun udfylde dem der er relevante for dit logon system.

Resultatet i sidste ende er, at når brugerne starter Frontspeed Explorer, så vil de blive afkrævet brugernavn og password for at komme ind.

Sådan laver du en ”Klik relation liste”

En klik relation er en udvælgelses liste hvor man som bruger kan klikke et antal muligheder af.

”Klik relation liste” er en kontroltype i Frontspeed ligesom ”Tekst felt” eller ”Dato redigerings” kontrol.

”Relation” hentyder til at det data der faktisk manipuleres typisk ligger i en relation, dvs. en tabel der linker 2 andre tabeller. De 2 andre tabeller indeholder ofte en entitiet hvorimod en relation blot er en komling (link begge veje) mellem entiteter.

Det eksempel vi vil arbejde med her er at der en en tabel med dokumenter. Brugeren kan tilføje og fjerne dokumenter. Brugeren kan oprette forskellige søge tags som bruges til at kategorisere og søge i dokumenterne. Brugeren skal kunne tilføje og fjerne tags for hvert enkelt dokument.

Vi kan lave en specielt liste til dette som et Frontspeed element, hvor brugere kan tilføje en linje med angivelse af et dokument og med angivelse af et tag. Det er dog ikke særlig brugervenligt at skulle arbejde med det på denne måde. Men listen er nu alligevel god at have som administrator på sådan et system. Det brugeren har brug for, er at når man er inde at redigere en ”Dokument” post, at man blot har en liste af tags man kan vælge til og fra for det aktuelle dokument.

”Klik relation liste” kontroltypen er det redskab man bruger i Frontspeed til netop at lave dette.

Det er iøvrigt muligt at redigere data ifbm. relationen også, hvis der er brug for det, fx at sætte en angivelse af relevans på relationen individuelt for hver dokument/tag kombination der vælges til.

”Klik relation liste” kontrollen er en fantastisk kraftfuld og smart feature i Frontspeed. (Men det er ikke helt nemt at bruge det, derfor anbefales det at lave det sammen med en rutineret bruger de første gange.)

Sådan gør du:

”Klik relation liste” kontrollen bruger et Frontspeed element. Dvs. først konfigurerer man et Frontspeed element med data og brugerflade osv. for selve indholdet i klikrelationen. Dette element kan iøvrigt bruges direkte også, altså som en egen liste. Det er dog ikke det vi normalt er interesserede i, men det er rart når man arbejder med konfigurationen at kunne dette.

  1. Tilføj et Frontspeed element. ”Tags/dokumenter - klik af”
  2. Lav et SQL udtryk som indeholder alle kombinationer af de 2 entiteter du arbejder med og for hver linje i dette, hent id felter fra relationstabellen ind i data. Princippet er at fx følgende query giver alle kombinationer af Documenter og Tags.

SELECT D.DocumentId, T.TagId

FROM Document D, Tag T

Derefter finder vi så dem der faktisk er valgt til sådan:

left outer join DocumentTag DT

on DT.DocumentId = D.DocumentId and DT.TagId = T.TagId

I fx SQL Server kan man dog ikke gøre sådan direkte, men må tage en lille omvej.

Så resultatet kommer til at se sådan ud:

select CrossTabHelper.DocumentId, CrossTabHelper.TagId, DT.Id

from (

        select D.DocumentId, T.TagId

        from Document D, Tag T)

as CrossTabHelper

left outer join DocumentTag DT

        on

                DT.DocumentId = CrossTabHelper.DocumentId

                and DT.TagId = CrossTabHelper.TagId

Altså: alle kombinationer af Document.DocumentId, Tag.TagId først, derefter Id fra relationen med ind, for de kombinationer hvor der findes en post.

  1. Fyld også Nøglefelt navn ind og sæt ”Datalager tabel-navn” og ”Autoincr. felt”.
  2. Gå nu til ”Document” Frontspeed elementet igen og tilføj et midlertidigt hjælperfelt i feltlisten: SELECT null as Tags, * FROM dbo.Document.
  3. Rediger brugerfladen, sæt ”Redigeringstype” til ”Klik-relation liste” på feltet ”Tags”.
  4. Sæt ”Klik-relation Frontspeed element navn” til ”Tags/dokumenter - klik af”.
  5. Sæt ”Klik-realtion skjul felt navn” til ”DocumentId” – brugeren ved jo godt hvilket element det er der redigeres.
  6. Sæt ”Klik-relation tilslut via felt (i refereret element)” til ”CrossTabHelper .DocumentId”.
  7. [OK]
  8. Du kan nu skjule ”Tags” eller helt fjerne det igen. Hvis du blot skjulter den i listen, så skal du huske at sætte ”Ingen gemme værdi”.
  9. Hvis du prøver at åbne linje redigering nu får du besked om at det Frontspeed element du referer til ikke endnu har en brugerflade defineret. Det er er krav for at bruge det som klik-relation og det eneste du behøver at gøre er at gå ind i brugerflade redigering på dit Frontspeed element ”Tags/dokumenter - klik af” og vælge [OK] med det samme.
  10. Nu er du kørende og kan klikke tags af under Dokumenter. Det kan dog laves lidt pænere. Det første du vil er nok at tilføje en opslagstekst på ”TagName” i klik-relationens brugerflade. Brug ”Byg opslagstekster”.
  11. Hvis man vil kunne klikke af på et helt nyt dokument, skal der en lille krølle mere på SQL udtrykket.
  12. På et nyt Document kender vi ikke DocumentId endnu, det er endnu ikke skabt. Det er null stadig for den nye post. Dette sæt af muligheder skal vi blot have med i SQL’en.

Da vi tilføjer SQL der hvor der ellers skulle komme en WHERE del indsætter vi også mærket ” /* <LinkConditionPlaceAlwaysWhere> */

”, så Frontspeed ved hvor link sql skal sættes ind.

Fordi vi er nødt til at referere til master posten er vi også nødt til at fortælle det er feltet fra masteren og ikke egen listen. Gøres ved at skrive PARENT. foran parameteren, så ved Frontspeed at det er derfra.

Alternativt kan man give fremmednøglerne et unikt navn, fx ftDocumentId, så kan Frontspeed finde ud at det er DocumentId fra masteren umiddelbart.

select CrossTabHelper.DocumentId, CrossTabHelper.TagId, DT.Id

from (

            select D.DocumentId, T.TagId

            from Document D, Tag T

)

as CrossTabHelper

left outer join DocumentTag DT

            on

                   DT.DocumentId = CrossTabHelper.DocumentId

                   and DT.TagId = CrossTabHelper.TagID

/* <LinkConditionPlaceAlwaysWhere> */

 

 

/* New record will need this set of data. */

union

select null as DocumentId, T.TagId, null as Id

from Tag T

where :PARENT.DocumentId is null

/* This set of data will only show if PARENT.DocumentId parameter is null,

   that is it is a new line. */

 

Bemærk at teknikken kun kan bruges hvor der er relativt begrænsede datamængder!

Hvis der er mange poster (10000+ ?) kan der bruges en database procedure til at finde data frem istedet.

SQL til andre klik relationer (avanceret)

CountryPaymentMethod

SELECT

  /* Master.ActionName, */

  Possibilities.ID AS PaymentMethodID,

  ClickRel.ID,

  Master.ID AS CountryID,

  ClickRel.Comment

  /* ClickRel.* */

FROM

  Country Master

  , PaymentMethod Possibilities

  LEFT OUTER JOIN CountryPaymentMethod ClickRel ON

        ClickRel.CountryID = Master.ID

        AND ClickRel.PaymentMethodID = Possibilities.ID

WHERE 1=1

SELECT

  /* Master.ActionName, */

  Possibilities.ID AS HandlingID,

  ClickRel.ID,

  Master.ID AS BrugerID,

  ClickRel.Kommentar

  /* ClickRel.* */

FROM

  Bruger Master

  CROSS JOIN Handling Possibilities

  LEFT OUTER JOIN BrugerHandling ClickRel ON

        ClickRel.BrugerID = Master.ID

        AND ClickRel.HandlingID = Possibilities.ID

WHERE 1=1

Advanceret Lookups med linkede parametre

Under “Custom Query” kan du skrive et select udtryk som så bliver brugt istedet for det Frontspeed ellers laver automatisk. I “Custom Query” kan du linke til andre værdier, fx til felter i selve listen. Hvis du i dit Frontspeed element har denne query:

select PersonId from Person

Så kan du i en lookup custom query fx bruge PersonId feltet. Det gøres sådan fx:

select Id, DisplayText from PersonInvoicesLookup_View

where PersonId = :PersonId

Dvs. du angiver parameteret med : foran. Efter parametret skal der være et mellemrum eller “,”  eller “)” eller tab eller en ny linje.

Metode starter Frontspeed element/starte en database stored procedure

Du kan lave en såkaldt procedure i databasen og bruge Frontspeed til at starte den. Også hvis den tager parametre. Du kan endda finpudse en brugerflade til at redigere parametrene på.

1) Under “Konfigurer” i top menuen, vælg “Elementer”, “Tilføj metode starter-element”.

2) Indtast et navn op Frontspeed elementet når du bliver spurgt om navn på det nye element. [Ok]

3) I “Dataudtræk (SQL)” feltet, skriv navnet på database proceduren (uden parametre)

4) Åbn elementet og Frontspeed viser et vindue med kontroller som modsvarer de parametre proceduren skal have.

5) Hvis du udfylder dem og klikker [Ok] køres proceduren med de parametre du har angivet.

6) Hvis du vælger [Annuller] og derefter i topmenuen under “Konfigurer”, vælger “Brugerflade”, kan du finpudse din brugerflade til proceduren.

FAQ (Ofte spurgte spørgsmål)

Q: Hvordan laver jeg et projekt?

A: Når du starter Frontspeed så er der dannet et projekt, ellers kan du vælge "Opret projekt" i "Filer" menuen.

Q: Hvordan laver jeg en opslagstekst på et tekst felt?

A: Et felt i en tabel, som er et tekst felt, men feltet fungerer som en nøgle? Dvs. med et foruddefineret sæt af mulige værdier. Bare rolig, det kan lade sig gøre. Se Rediger et tekst felt via foruddefinerede opslagsværdier.

Q: Laver Frontspeed om i databasestrukturen?

A: Nej, Frontspeed laver et lag oven på som er Frontspeed beskrivelsen af funktionaliteter/brugerflader og redigeringsfelter, mm (det er et Frontspeed projekt, som iøvrigt er en ganske almindelig fil, du kan tage backup af osv.). Frontspeed ændrer kun i selve data i databasen, når brugeren beder om at rette i data, aldrig i databasestrukturen.

slut

Bilag A:

Script til demoer

CREATE TABLE [dbo].[Document](

        [DocumentId] [int] NOT NULL,

        [DocumentText] [text] NULL,

        [DocumentTitle] [varchar](50) NOT NULL,

 CONSTRAINT [PK_Document] PRIMARY KEY CLUSTERED

(

        [DocumentId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object:  Table [dbo].[Tag]    Script Date: 09/03/2012 19:10:33 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Tag](

        [TagId] [int] NOT NULL,

        [TagName] [varchar](50) NOT NULL,

 CONSTRAINT [PK_Tag] PRIMARY KEY CLUSTERED

(

        [TagId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object:  Table [dbo].[DocumentTag]    Script Date: 09/03/2012 19:10:33 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[DocumentTag](

        [Id] [int] IDENTITY(1,1) NOT NULL,

        [DocumentId] [int] NOT NULL,

        [TagId] [int] NOT NULL,

 CONSTRAINT [PK_DocumentTag] PRIMARY KEY CLUSTERED

(

        [Id] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object:  ForeignKey [FK_DocumentTag_Document]    Script Date: 09/03/2012 19:10:33 ******/

ALTER TABLE [dbo].[DocumentTag]  WITH CHECK ADD  CONSTRAINT [FK_DocumentTag_Document] FOREIGN KEY([DocumentId])

REFERENCES [dbo].[Document] ([DocumentId])

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[DocumentTag] CHECK CONSTRAINT [FK_DocumentTag_Document]

GO

/****** Object:  ForeignKey [FK_DocumentTag_Tag]    Script Date: 09/03/2012 19:10:33 ******/

ALTER TABLE [dbo].[DocumentTag]  WITH CHECK ADD  CONSTRAINT [FK_DocumentTag_Tag] FOREIGN KEY([TagId])

REFERENCES [dbo].[Tag] ([TagId])

GO

ALTER TABLE [dbo].[DocumentTag] CHECK CONSTRAINT [FK_DocumentTag_Tag]

GO