Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

FM 12 - relationer funkar inte...

Tråden skapades och har fått 15 svar. Det senaste inlägget skrevs .
1

FM 12 Server Advanced och FM 12 Advanced.

Två databaser som rullar i FM Server - finemang och man kan också lira dom med en iPad eller iPhone via nätet. Allt snurrar fint.

Den ena databsen heter "Fakturor" och har bl.a. en tabell som hete "Kunder" (adressbok). Den andra databasen heter "Offerter" och har en identisk tabell som heter "Kunder".

Jag vill synka dessa så att om jag ändrar, skapar, etc i den ena så händer det också i den andra - dom följer varandra och blir hela tiden identiska.

Jag har fixat relationer mellan fälten och look-up - detta i databasen "Fakturor".

Ingenting händer - databasernas "Kunder" snackar inte alls med varandra - jag råddar runt i den ena men ingen reaktion i den andra. Vad har jag missat?

Jag är ingen hejare på detta men kan det här vara till hjälp? Database syncing - an overview of approaches | FileMaker

Nej, jag ska inte synka/backuppa databaser.

Ursprungligen av akerstrom:

Jag är ingen hejare på detta men kan det här vara till hjälp? Database syncing - an overview of approaches | FileMaker

Är det ett krav att du har två kopior av databasen? Jag har inte gjort det, men visst kan man skapa en relation till Fakturor::Kunder från Offerter och göra dig av med en av tabellerna?

Om man gör dig av med en av två tabeller som är relaterade till varandra...vad ska då den tabell som är kvar relatera till?

Ursprungligen av Charles Xavier:

Är det ett krav att du har två kopior av databasen? Jag har inte gjort det, men visst kan man skapa en relation till Fakturor::Kunder från Offerter och göra dig av med en av tabellerna?

Man tycker att det borde vara ganska vanligt att två olika databaser - eller bara två olika tabeller i samma databas - delar information - t.ex. en adressbok. Jag har letat vettig info om detta i flera dagar och det enda jag hittar är relationer och relationer funkar inte för mig - mina relationer relaterar inte.

Om jag förstått detta rätt så vill du ha två kundregister som speglar varandra?

Du behöver inte ha tabellen kunder i Fakturor.
I Offerter så har du den enda tabellen som heter kunder. Varje kund ska ha ett unikt, numeriskt fält typ IDP_Kundnr.

I fakturor så sätter du upp ett numeriskt ID fält "IDF_Kundnr" Det är i detta fält som du skriver in det kundnummer som fakturan ska gå till.
Du har en relation mellan Fakturor::IDF_Kundnr och Offerter::IDP_Kundnr.

I Fakturor så skapar du fält Företagsnamn, Adress, Postadress, Kontaktperson. Du gör dessa som text fält och använder dig av tillägget Länkdata. Välj relationen till Offerter:Kunder och hämta fält för fält. På detta sätt så kopierar du över adressinfo till fakturan. För du vill ju inte att gamla fakturor ska ändra adressen när du ändrar adressen i kundregistret.

Du kan ha relationer mellan olika tabeller, även om de ligger i olika databaser. Se till att du har den andra databasen uppsatt under Arkiv/Hantera/Externa datakällor i den databas som du vill hämta informationen till.

Jag har alltså "Färdiga lösningar" Faturor och Offerter. I databasen Fakturor finns tabellerna Kunder, Produkter och Fakturor. I Offerter finns Kunder, Produkter och Offerter. jag vill altså "synka" dom två tabellerna som heter "Kunder" som ligger i var sin databas. Lägger jag till en ny kund när jag skriver Offert så ska den kunden också finnas i Kunder i Fakturor när jag ska fakturera.

Jag kanske inte alls skriver en Offert varje gång - kanske bara en Faktura. Ibland skrivs Offerter men det blir inga fakturor.
När man ska skapa ny Faktura eller Offert så dyker tidigare Kunder upp i lista och jag kan lätt klicka så att den nya Fakturan eller Offerten blir föradresserad till vald kund som redan fanns i Kunder-tabellen. Detta funkar bara om jag har en Kunder-tabell i båda databaserna som jag förstår det.

Jag har länkat allt och även ställt in Arkiv/Hantera/Externa datakällor. Jag tror faktiskt jag har gjort allt man ska göra mellan dom två Kunder som ligger i var sin databas. Dom snackar ändå inte med varandra.

Ursprungligen av peterwatz:

Du behöver inte ha tabellen kunder i Fakturor.
I Offerter så har du den enda tabellen som heter kunder. Varje kund ska ha ett unikt, numeriskt fält typ IDP_Kundnr.

I fakturor så sätter du upp ett numeriskt ID fält "IDF_Kundnr" Det är i detta fält som du skriver in det kundnummer som fakturan ska gå till.
Du har en relation mellan Fakturor::IDF_Kundnr och Offerter::IDP_Kundnr.

I Fakturor så skapar du fält Företagsnamn, Adress, Postadress, Kontaktperson. Du gör dessa som text fält och använder dig av tillägget Länkdata. Välj relationen till Offerter:Kunder och hämta fält för fält. På detta sätt så kopierar du över adressinfo till fakturan. För du vill ju inte att gamla fakturor ska ändra adressen när du ändrar adressen i kundregistret.

Du kan ha relationer mellan olika tabeller, även om de ligger i olika databaser. Se till att du har den andra databasen uppsatt under Arkiv/Hantera/Externa datakällor i den databas som du vill hämta informationen till.

FM 12 - relationer funkar inte...

Tack. Ska testa detta

  • Medlem
  • Karlskoga
  • 2012-04-24 12:12

Jag fattar ändå inte varför du ska ha två tabeller med samma innehåll. Det räcker väl med en tabell Kunder som innehåller alla data i Offerter, sedan länkas det till den från Fakturor. Eller missförstår vi dej?

Om jag vill skriva en ny Faktura - har alltså Faktura-databasen öppen - var hämtar jag Kunder/Adresser då?

Ursprungligen av kenjon:

Jag fattar ändå inte varför du ska ha två tabeller med samma innehåll. Det räcker väl med en tabell Kunder som innehåller alla data i Offerter, sedan länkas det till den från Fakturor. Eller missförstår vi dej?

  • Medlem
  • Karlskoga
  • 2012-04-24 12:33

Från tabellen Kunder i Offerter. Nu vet jag inte hur du har byggt upp det, kör du FM som server i en annan maskin?

Jo, det är en server - men det ska ju inte göra skillnad egentligen. Båda databaserna ser varandra.

Tabellen Kunder i databasen Offerter syns ju inte när jag har databasen Fakturor öppen.

I min desperation så försökte jag lägga upp den i en portal - inget - resultat noll - blank. Databaserna interagerar inte med varnadra trots att jag gjort allt - lookup, länkning - för att dom ska kommunicera.

Ursprungligen av kenjon:

Från tabellen Kunder i Offerter. Nu vet jag inte hur du har byggt upp det, kör du FM som server i en annan maskin?

Jag ställer om frågan:

Hur får jag två olika tabeller att innehålla exakt samma information oavsett var jag tillför, tar bort eller ändrar denna information?

Ursprungligen av Zimmerman:

Jag ställer om frågan:

Hur får jag två olika tabeller att innehålla exakt samma information oavsett var jag tillför, tar bort eller ändrar denna information?

Ok, det är inte helt lätt.
När du sparar information så måste ett manus lägga in informationen i två tabeller.
Lättast är att arbeta med Script Triggers (Manus utlösare på ren Svenska).
När du går in i fältet så kör du ett manus som kommer ihåg vad det står i samma fält i den andra tabellen.
När du lämnar fältet så körs ett manus som går till "samma" post i den andra tabellen och sparar informationen där. Men först bör manuset kontrollera att inte informationen inte är ändrad i den posten före du skriver över den.
Om den är ändrad så behöver du kommunicera till användare att denna information inte går att spara då den är redan ändrad i den andra tabellen. Inte helt lätt som sagt var men det går.

Finns det någon anledning att göra detta?

1
Bevaka tråden