Hoppa till huvudinnehåll
HPO Software Steg-för-steg-guider för 4D-databaser och low-code-appar – från din första tabell till en färdig företagsapp.

Vissa länkar på denna webbplats är affiliatelänkar: om du handlar via dem kan vi få en provision utan extra kostnad för dig. Detta påverkar aldrig våra rekommendationer. Se vår affiliatedeklaration för mer information. Ansvarsfriskrivning för affiliate.

Grundläggande om 4th Dimension Learning

Välkommen till 4th Dimension Learning Basics Del II av Jeff Hopkins — 2 februari 2000 (uppdaterad 18 februari 2000). Webbdesign av David Graham. Jeff Hopkins är en 4D-partner, expert FileMaker Pro-utvecklare, ägare av HPO SOFT och grundare av den ideella organisationen Association of Database Developers, Inc. När han inte fyller någon av ovanstående roller arbetar han outtröttligt med att hjälpa andra på olika diskussionslistor för databaser.

Viktiga punkter

  • I 4D, bygg i en specifik ordning: Tabeller → Datafält → Formulär → Beräkningar/Metoder. Att hoppa över steg leder till omarbetning.
  • Du kan bygga en komplett, användbar applikation med en enda platt fil (en-tabell) utan att skriva en enda metod — förutom en valfri beräkning (en “Objektmetod”).
  • I 4D:s designläge ändras menyraden beroende på vilket fönster som är öppet. Om strukturmenyn försvinner, stäng alla öppna fönster (inte själva 4D-applikationen) så kommer den tillbaka.
  • 4D och FileMaker Pro (FMP) delar en low-code-filosofi, men 4D exponerar mer struktur från början — vilket är anledningen till att skapandeordningen är viktigare.
  • Skapa flera små testdatabaser istället för en stor medan du lär dig; 4D:s beteende är ibland överraskande, och att experimentera är det snabbaste sättet att internalisera det.
  • När du behärskar grunderna för platta filer här, blir relaterade filer, metoder, beräkningar, runtimes, kompilerade versioner och webbhotell tillgängliga.

i. Introduktion

Som anges i del I, kommer 4D i följande dokument att betyda 4th Dimension och FMP kommer att betyda FileMaker Pro. Följande dokument skapades på en Macintosh. Även om det kan finnas små skillnader i vissa av skärmbilderna när du använder 4D för Windows, bör samma procedur fungera på båda plattformarna.

Många kommer att säga att du måste vara programmerare för att skapa 4D-program. Även om det absolut inte skadar, finns det precis som med FMP mycket du kan göra utan att någonsin ge dig in på programmering eller skriptskrivning. Den här delen tar läsaren genom utvecklingen av en enkel platt fil med en tabell. Med undantag för en enkel beräkning (kallad “Objektmetod”) kommer det inte att finnas några metoder eller beräkningar.

Anledningen till att jag gör detta är att när du har bemästrat det som följer kan du gå vidare till de riktigt häftiga sakerna — relaterade filer, metoder, beräkningar, runtimes, kompilerade versioner och webbhotell.

Jag har märkt att det svåraste i början är att hålla koll på var man befinner sig i 4D, eftersom 4D inte alltid gör som man förväntar sig. Jag rekommenderar att du skapar flera testdatabaser som beskrivs i denna del och experimenterar med olika alternativ. I vissa fall kommer du att bli positivt överraskad, men i andra kan du bli frustrerad till en början.

Del II kommer att visa hur man:

Relaterat: — Ett enkelt kalkylarksgränssnitt som sitter ovanpå en riktig relationsdatabas, med automatiseringar, vyer och delbara gränssnitt..

  • Skapar en ny databas
  • Ställer in 4D-databasegenskaper
  • Skapar tabeller
  • Skapar datafält
  • Skapar formulär
  • Skapar en värdelista (vallista)
  • Anger provdata

Ordning för databasskapande

Det kommer att hjälpa den nya 4D-utvecklaren att förstå den korrekta ordningen för att skapa en 4D-databas. Först måste en tabell skapas. Därefter skapas datafälten. Slutligen skapas inmatnings- och utdataformulär. Beräkningar/metoder skapas för datafälten.

Obs: Det finns många andra detaljer som måste åtgärdas, men ovanstående är grundläggande för det som tas upp i denna del.

Denna ordning är inte godtycklig – den återspeglar hur 4D:s strukturredigerare är uppbyggd. Ett formulär är en layout av en tabell, så tabellen måste existera innan formuläret kan referera till den. Ett datafält tillhör en tabell, så tabellen måste finnas före fältet. En beräkning eller metod refererar vanligtvis till fält, så dessa fält måste finnas först. Om du försöker arbeta i fel ordning kommer 4D antingen att stoppa dig eller tvinga dig att backa.

Om du handlar: — En appbyggare med låg kod som ansluts till den bredare Zoho-sviten och priser per användare snarare än per app..

En användbar mental modell: tänk på strukturen (tabeller och fält) som skelettet och formulären som huden. Du kan inte drapera hud över ett skelett som inte har byggts ännu. Metoder och beräkningar är musklerna som får skelettet att röra sig — och de kommer sist eftersom de är beroende av att man vet hur skelettet ser ut.

Varför ordningen spelar roll i praktiken

  • Tabeller först — en tabell är behållaren för en kategori av poster (kunder, fakturor, produkter). Allt annat hänger på den.
  • Fält sedan — fält definierar vad du faktiskt lagrar: ett namn, ett datum, ett pris, en status. Bestäm fälttyper noggrant här, eftersom en ändring av fälttyp senare kan ogiltigförklara befintliga data.
  • Formulär därefter — formulär är hur människor ser och redigerar data. Du kan bygga många formulär mot samma tabell (ett inmatningsformulär, en listvy, en utskriven rapportlayout).
  • Metoder och beräkningar sist — dessa automatiserar beteendet. Eftersom de refererar till fält och formulär undviker man brutna referenser genom att bygga dem sist.

Om du kommer från en kalkylbladsbakgrund är frestelsen stor att börja skriva in data omedelbart. Motstå det. I 4D, som i vilken relationsdatabas som helst, är strukturen grunden, och data hälls i efteråt.

Gå tillbaka för att lägga till eller redigera en tabell

Du kanske vill gå tillbaka och lägga till nya datafält eller en ny tabell eller ett nytt formulär. Detta är inte så enkelt som man kan förvänta sig.

Låt oss säga att du har redigerat ett formulär och bestämmer dig för att du vill lägga till ytterligare en tabell. Normalt, medan du är i designläge, väljer du “Ny tabell” från strukturmenyn. Men vänta, det finns ingen strukturmeny. Vad hände?

4D har ändrat designlägets menyrad. Du måste stänga alla 4D-fönster (inte 4D, bara de öppna fönstren) och strukturmenyn kommer att dyka upp igen. Nu kan du se tabellerna för att redigera dem eller skapa nya. Du kan nu också redigera och skapa datafält.

För att redigera eller skapa nya formulär finns alltid verktygsmenyn i designläget, så det bör inte orsaka någon förvirring.

Relaterat: — En databasbyggare utan kod som syftar till portaler, kataloger och interna verktyg – med schablonpris i stället för avgifter per användare..

Detta är en av de enskilt vanligaste förvirringspunkterna för nya 4D-utvecklare, och det är värt att förstå varför det händer snarare än att bara memorera lösningen. 4D använder en kontextkänslig menyrad: menyerna du ser återspeglar den typ av fönster som för närvarande har fokus.

När ett formulärfönster är öppet antar 4D att du utför formulärarbete och visar dig formulärrelevanta menyer. Strukturmenyn – som styr tabeller och fält – visas endast när inget formulär (eller annat specialiserat) fönster är öppet.

Praktiska tips för att navigera i designläge

  • När du är osäker, stäng allt. Att stänga alla öppna fönster återför dig till “hem”-läget där hela strukturmenyn är tillgänglig.
  • Avsluta inte 4D. Att stänga fönster är inte detsamma som att avsluta programmet. Din databas förblir öppen; endast redigeringsfönstren stängs.
  • Spara innan du stänger. Om du har osparade formulärredigeringar, stäng fönstret medvetet och bekräfta uppmaningen om att spara istället för att tvångsavsluta.
  • Använd verktygsmenyn för formulär. Eftersom verktygsmenyn alltid finns i designläge, är formulärredigering det enda området som inte kräver “stäng-allt-dansen”.
  • Räkna med att det här ska kännas bakvänt till en början. De flesta designverktyg har en statisk menyrad. 4D:s dynamiska menyrad är mer kontextmedveten, men det tar en session eller två innan man slutar bli överraskad.

När du väl har internaliserat regeln — menyraden följer fönstret — försvinner förvirringen i stort sett. Du slutar leta efter en saknad meny och frågar istället: “Vilken typ av fönster är öppet just nu?”

Vårt val: — Den långvariga relationsdatabasplattformen för team som behöver anpassade appar på skrivbordet, webben och mobilen från en enda fil..

Välja fälttyper och värdelistor

Även om den här delen medvetet undviker programmering, förtjänar två designbeslut verklig eftertanke eftersom de är svåra att ångra senare: fälttyper och värdelistor.

Fälttyper

När du skapar ett datafält väljer du vilken typ av data det ska innehålla. De vanligaste kategorierna i 4D (och i de flesta databaser från denna era) är:

  • Text / Sträng — namn, adresser, anteckningar i fritt format. Flexibelt men inte numeriskt sorterbart.
  • Nummer — kvantiteter, priser, ID:n. Sorterbart och användbart i beräkningar.
  • Datum — kalenderdatum. 4D lagrar dessa på ett sätt som stöder datumaritmetik och sortering.
  • Tid — klockslag och varaktigheter.
  • Boolesk — en ja/nej- eller sant/falskt-flagga.
  • Bild — bilder eller grafik lagrade med posten.

En praktisk regel: välj den mest specifika typen som passar. Om ett värde är ett nummer, lagra det som ett nummer, inte som text — annars kommer sortering och beräkningar att fungera oväntat. Om ett värde är ett datum, lagra det som ett datum så att 4D kan sortera det kronologiskt snarare än alfabetiskt.

Värdelistor (val-listor)

En värdelista (även kallad vallista) är en fördefinierad uppsättning alternativ som en användare väljer mellan istället för att skriva. Det är en av de mest värdefulla lågkodsfunktionerna i 4D eftersom den:

  • Förhindrar stavfel — “Aktiv”, “aktiv” och “Actve” blir omöjliga.
  • Snabbar upp datainmatningen — välj från en lista istället för att skriva.
  • Säkerställer konsekvens — varje post använder samma vokabulär, vilket gör rapportering och sortering tillförlitlig.

Värdelistor kan vara statiska (en fast lista som du skriver in, till exempel en lista över amerikanska delstater eller en uppsättning statuskoder) eller dynamiska (hämtas från data, till exempel en lista över befintliga kundnamn). För en första plattfilsdatabas är en statisk lista den enklaste och mest lärorika utgångspunkten.

Hur man bestämmer sig: fälttyp kontra värdelista

BeslutVälj detta när…Se upp för…
TextfältVärdet är i fritt format och oförutsägbartKan inte sorteras numeriskt; benäget för stavfel
NummerfältVärdet används i matematik eller numerisk sorteringLagra inte ID:n som text om du ska sortera dem
DatumfältVärdet är ett kalenderdatumFormateringsskillnader mellan plattformar
Booleskt fältVärdet är genuint två-tillståndsAnvänd det inte för statusar med tre tillstånd
Statisk värdelistaAlternativen är fasta och kändaMåste redigeras manuellt om alternativen ändras
Dynamisk värdelistaAlternativen kommer från befintliga posterBeror på att data redan är rena

Mata in exempeldata

När tabeller, fält, formulär och värdelistor är på plats är det sista steget i denna del att mata in exempeldata. Detta är inte meningslöst arbete — det är ett valideringssteg. Att mata in ett antal realistiska poster avslöjar omedelbart designproblem:

  • Ett fält som borde ha varit ett nummer accepterar text.
  • En värdelista saknar ett alternativ som du faktiskt behöver.
  • Ett formulär är utformat på ett sätt som gör datainmatningen besvärlig.
  • Ett datumfält visas i ett oväntat format.

Att ange exempeldata tidigt, medan strukturen fortfarande är ny och lätt att ändra, är mycket billigare än att upptäcka samma problem efter att du har skrivit in hundratals riktiga poster. Behandla exempeldata som en testsele för din design.

Bekräftelser

Särskilt tack till: James Fortier för att ha tillhandahållit några av resurserna och hjälpt till med korrekturläsningen av dokumentet.

Copyright © 1994-2000 HPO Soft. Alla rättigheter reserverade.

Vanliga frågor

Varför försvinner Struktur-menyn i 4D Design-läge?

4D använder en kontextkänslig menyrad, så menyerna som visas beror på vilket fönster som för närvarande har fokus. När ett formulärfönster (eller ett annat specialiserat fönster) är öppet, döljer 4D Struktur-menyn och visar istället formulärrelevanta menyer. Stäng alla öppna fönster – men inte själva 4D-applikationen – så dyker Struktur-menyn upp igen så att du kan redigera tabeller och fält.

Behöver jag vara programmerare för att bygga en 4D-databas?

Nej. Precis som med FileMaker Pro finns det mycket du kan åstadkomma i 4D utan att någonsin skriva en metod eller ett skript. Den här delen bygger en komplett plattfilsapplikation med en tabell utan några metoder alls, bortsett från en valfri beräkning som kallas en objektmetod. Programmering blir värdefullt senare, när du går vidare till relaterade filer, automatisering och webbhotell.

Vad är rätt ordning för att skapa en 4D-databas?

Skapa tabellen först, sedan datafälten, sedan inmatnings- och utdataformulären och slutligen beräkningarna/metoderna för datafälten. Den här ordningen är viktig eftersom formulär refererar till tabeller, fält tillhör tabeller och metoder vanligtvis refererar till fält – att bygga i fel ordning tvingar fram backspårning eller skapar trasiga referenser.

Vad är en värdelista i 4D, och varför ska jag använda en?

En värdelista (även kallad vallista) är en fördefinierad uppsättning alternativ som en användare väljer mellan istället för att skriva fri text. Det förhindrar stavfel, påskyndar datainmatningen och säkerställer konsekvens mellan poster, vilket i sin tur gör sortering och rapportering tillförlitlig. Värdelistor kan vara statiska (en fast lista som du definierar) eller dynamiska (hämtade från befintliga data).

Ska jag lagra siffror och datum som textfält?

Nej – välj den mest specifika fälttypen som passar datan. Siffror bör lagras som nummerfält så att de sorteras och beräknas korrekt, och datum bör lagras som datumfält så att 4D sorterar dem kronologiskt snarare än alfabetiskt. Att lagra numeriska värden eller datumvärden som text är ett vanligt nybörjarmisstag som orsakar förvirrande sorterings- och beräkningsbeteende senare.

Varför skapa flera testdatabaser istället för en?

4D beter sig inte alltid som en nybörjare förväntar sig, så att experimentera i små, förbrukningsbara testdatabaser låter dig prova olika alternativ utan att riskera riktigt arbete. Du kommer att tycka att vissa beteenden är behagligt smidiga och andra frustrerande i början, och det snabbaste sättet att lära sig skillnaden är praktisk upprepning i en säker sandlåda.


Prova FileMaker gratis i 45 dagar

Den långvariga relationsdatabasplattformen för team som behöver anpassade appar på skrivbordet, webben och mobilen från en enda fil.