Extrafält (datatyper)

Alternativ

Lista (s.k. combobox) med alternativ.
Under Alternativ anges de olika listalternativen separerade med semikolon (t.ex. Alt 1;Alt 2;Alt3). Du kan också skriva in namnet på en vbscript-funktion som returnerar en sträng med semikolonseparerade alternativ, enligt: <% =GetMinaListAlternativ() %>.

Bool

Kryssruta.
Under Format anger du antingen etikett för en enstaka kryssruta, eller två semikolonseparerade etiketter för två (ömsesidigt uteslutande) kryssrutor. Lämna Format tomt om du vill ha en enstaka kryssruta utan etikett.

Datum/tid

Datum-, eller Datum & tid-fält.
Under Format väljer du något av formaten i listan, eller anger fritt en kombination med:

  • %Y – år med fyra siffror (t.ex. 2009).
  • %m – månad med två siffror (t.ex. 01 för januari).
  • %d – dag i månad med två siffror (t.ex. 05 för den 5:e i månaden).
  • %H – timme med två siffror.
  • %M – minuter med två siffror.
  • %S – sekunder med två siffror.
  • Om du väljer ett format utan %H, %M eller %S, så visas enbart datum-val (ingen tid).

Flyttal

Tal som kan ha decimaler.
Under Format kan du välja något av formaten i listan eller ange manuellt hur många decimaler du vill använda, t.ex.:

  • %0.2f – 2 decimaler, t.ex. 1234.56.
  • %0.2f_ – 2 decimaler med tusentalsavgränsare, ex. 1 234,56.
  • %f_ – automatiskt antal decimaler och tusentalsavgränsare, ex. 1 234,567 och 1 234.

Heltal

Heltal, utan decimaler.
Under Format kan du välja något av formaten i listan eller manuellt ange hur värdet ska presenteras, t.ex.:

  • %02d – 2 siffror, fyll ut med nollor, t.ex. 07.
  • %03d – 3 siffror, fyll ut med nollor, t.ex. 007.

Skript

Anropa VBScript-funktion för att hämta värdet.
Denna typ av extrafält är alltid skrivskyddat. Inga värden för fältet lagras i databasen, utan script-funktionen anropas varje gång fältet ska visas.
Under Funktion anger du namnet på den VBScript-funktion som ska anropas, utan parametrar, t.ex. MinFunktion. Funktionen ska alltid deklareras med nedanstående två parametrar och returnera värdet som ska visas i fältet, enligt:

function MinFunktion(nOwnerType, lOwnerId)
   MinFunktion="..."
end function

nOwnerType och lOwnerId refererar till den post som fältet tillhör (t.ex. kund resp kundens id).

SQL-fråga

Kör SQL SELECT-fråga som returnerar värdet.
Denna typ av extrafält är alltid skrivskyddat. Inga värden för fältet lagras i databasen, utan SQL-frågan körs varje gång fältet ska visas.
Under SQL-fråga anger du den SELECT-sats som returnerar det värde som ska visas i fältet. Till din hjälp i SQL-frågan har du specialtaggen:
<ID> – ersätts med id för den post som fältet tillhör (t.ex. kund-id).

Exempel som returnerar antalet uppdrag för varje kund (extrafält som tillhör kund):

SELECT COUNT(*) FROM [tblTask] T WHERE [CustomerNr] IN ( SELECT [Nr] FROM [tblCustomer] C WHERE C.[Id]= )

Observera att du ska använda alias (T resp C i exexmplet) på tabellerna i SQL-frågan, så att de inte “krockar” med tabellnamn i en eventuell yttre SQL-sats som de ingår i.
Observera också att SQL-frågan bara får returnera ett värde. Använd SELECT TOP 1… om det finns risk att din SQL-fråga kan returnera flera poster.

Text

Text-fält.
Format används ej.

Välj

Fält för att välja eller via referens till en post i databasen, t.ex. kund, artikel, uppdrag etc.
Välj under Typ vilken typ av post fältet avser.
Du kan använda Aktionsscriptet (se Extrafält (egenskaper)) för att visa en knapp som användaren klickar på för att välja post. För vissa posttyper föreslår programmet automatiskt en inbyggd funktion som kan användas för att välja den typen av post, t.ex. SelectCustomer för kunder, SelectArticle för artiklar etc. Vissa av dessa funktioner kan också ha parametrar för att begränsa urvalet, t.ex. enbart visa de kontaktpersoner som tillhör en viss kund etc. Kontakta din Mobigo-återförsäljare eller Erisma Technologies om du vill ha hjälp med avancerad konfiguration av Mobigo.
Exempel på Aktionsscript för extrafält av typen Välj kund:

SelectCustomer

Exempel på Aktionsscript för extrafält av typen Välj kontaktperson på kund, som enbart visar kontaktpersonerna som tillhör den aktuella kunden:

SelectCustomerRef(-1, CLng(""))

Se även

Extrafält (egenskaper)