Ga naar inhoud
  • 0

Filemaker naar MySQL 'live' ODBC


elmystica

Vraag

Ik werk in een Filemaker Pro database, intern ontwikkeld door mijn klant.

 

Dit is wat we proberen te doen:

- In een fotostudio staat een fototoestel verbonden met een iMac.

- Een klein appje autofocust het artikel.

- Het artikel wordt in een containerveld geplaatst, en op de FM-server bewaard.

- De gebruiker kent ook nog het merk en de kleurcode toe.

- Als de klant het artikel op zijn website wil plaatsen, hoeft hij enkel op een knopje te drukken …

- Hierdoor wordt een Applescript aangeroepen, dat kijkt we de online code is voor dat merk en maakt de nodige mappen aan op de FM-server

- De foto wordt op de juiste maten gemaakt (drie verschillende groottes zij nodig op de site)

- Een statusveld krijgt een update zodat in Filemaker te zien is dat de foto op de server werd geplaatst.

 

Tot hiertoe lukt alles perfect.

U moet weten dat in FM de foto zo eigenlijk aan een product werd toegevoegd in een tabel "Stock". Deze tabel wordt door bijna de volledige applicatie in FM gebruikt (in meer dan 80 lay-outs) en bevat een goeie 10.000 records ...

 

Maar wat willen we nog en lukt nog niet …:

- Er is een online database tabel (MySQL) "channel_images". Die houdt bij op welke pagina welke foto getoond wordt.

- Elke record uit de FM tabel Stock waarvan een foto bestaat, moet in die tabel komen.

- Als er in de FM tabel Stock geen voorraad is, moet het veld "is_draft" in de Mysql tabel Channel_images op 1 gezet worden.

- Als in de FM tabel Stock de waarde van het veld "toon_online" niet op 1 staat, moet het veld "is_draft" in de Mysql tabel Channel_images op 1 gezet worden.

- Dit zou automatisch moeten kunnen, zonder een extra knop te duwen, zeg maar.

- Bovendien zijn er in de Mysql tabel Channel_images een aantal waarden die altijd gelijk blijven, maar door de andere functies online, kan ik in MySQL geen default value instellen.

 

 

- Hoe zorg ik ervoor dat hij dat ene veld "is_draft" in MySQL aanpast als er in FM een veld wijzigt, zonder een extra knop toe te voegen?

- Hoe voeg ik vaste informatie toe aan die MySQL tabel?

Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0

In jouw eerste vraag lees ik dat je via Apple script de mappen aanmaakt, wat uitstekend lukt.

Dit lijkt mij via FTP te gaan, of anders begrijp ik het niet goed.

 

Verder ontbreekt mij het zicht op het paraat hebben van de ODBC koppeling.

Volgens mij heb je die nog niet ingericht, omdat je (na alles compleet ingericht te hebben) de MySQL tabellen gewoon als Table Occurrences te zien krijgt.

 

Dus... in hoeverre is het volledig ingericht?

Link naar reactie
  • 0
Ik begrijp dat niet. Wil je dat veldje op 1 hebben wanneer er uberhaupt iets aan het record is gewijzigd?

Je zou dan kunnen kijken naar Get(RecordModificationCount): http://www.filemaker.com/help/13/fmp/nl/html/func_ref2.32.66.html#1030648

en dit b.v. kunnen uitlezen wanneer je van layout wisselt.

 

Voorlopig heb ik het met een calculatieveld uitgewerkt. Ik zocht het iets te ver. Alleen moet die update van dat veld ook online zichtbaar zijn ...

Link naar reactie
  • 0
In jouw eerste vraag lees ik dat je via Apple script de mappen aanmaakt, wat uitstekend lukt.

Dit lijkt mij via FTP te gaan, of anders begrijp ik het niet goed.

 

Verder ontbreekt mij het zicht op het paraat hebben van de ODBC koppeling.

Volgens mij heb je die nog niet ingericht, omdat je (na alles compleet ingericht te hebben) de MySQL tabellen gewoon als Table Occurrences te zien krijgt.

 

Dus... in hoeverre is het volledig ingericht?

 

Er is een ODBC-connectie met de desbetreffende tabel, die ik in mijn relaties ook zie staan.

Ik heb het met een import vanuit die stock-tabel naar de MySQL tabel proberen te doen. Maar als ik een record wijzig ("is_draft" wordt bvb van 0 naar 1 gebracht, dan krijg ik een nieuw record in MySQL. Bovendien neemt hij bepaalde ongewijzigde records ook als nieuw mee. Bij mijn import actions heb ik aangegeven om records te vergelijken, en desnoods nieuwe maken als ze nog niet bestaan. Probleem is dat ik vergelijk op basis van afbeeldingsnaam, en niet op een ID of zo. Zou dat de oorzaak van dat probleem kunnen zijn?

 

Trouwens, als ik in eender welke lay-out het veld "aantal" in de FM tabel "stock" wijzig, hoe voer ik dan dat importscript uit, zonder dat er een knop moet aangeklikt worden? Een trigger plaatsen op het bewaren, voert de actie uit VOORDAT hij het opslaat, dus dan zijn de gegevens toch nog niet bijgewerkt?

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...