LinuxFanClub Wiki

Υπηρεσίες, Προγραμματισμός, Εκπαίδευση ..

User Tools

Site Tools


el:databases:openoffice_base

OpenOffice Base

Εισαγωγή

Το OpenOffice Base είναι αρκετά νέα εφαρμογή, και μόνο από την έκδοση 2.1 και μετά λύθηκαν αρκετά προβλήματα με φόρμες και reports ώστε να γίνει λειτουργικό. Στο Debian Etch για παράδειγμα είναι στην έκδοση 2.0.4. Στο Lenny είναι στην 2.4.1

Εγκατάσταση

Εγκατάσταση OpenOffice

Debian

aptitude update
aptitude install openoffice.org

Windows

Σύνδεση με mysql

Για να προσπελάσουμε μια βάση σε mysql χρειαζόμαστε τις κλάσεις - οδηγούς της java για mysql

Εγκατάσταση οδηγού mysql java connector

Debian

Εκτελούμε την εντολή

aptitude install libmysql-java

Windows

Κατεβάζουμε το mysql java connector από http://dev.mysql.com/downloads/connector/j/

Kαι ακολουθούμε τις οδηγίες από

Συνοπτικά

  • αποσυμπιέζουμε το αρχείο σε έναν φάκελο π.χ. c:\java
  • Από το openoffice πηγαίνουμε εργαλεία / επιλογές / openoffice.org / java
  • Στο classpath επιλέγουμε προσθήκη αρχείου και εντοπίζουμε το αρχείο mysql-connector-x.x.x-java-bin.jar
  • Κλεινουμε το openoffice (μαζί με την γρήγορη εκκίνηση) και το επανεκκινούμε

Ελληνικά

Για να μπορούμε να εισάγουμε ελληνικούς χαρακτήρες και να στέλνονται σωστά στην βάση mysql χρειάζεται να γίνουν τα εξής:

  1. Στην βάση mysql θα πρέπει να χρησιμοποιούμε unicode collation π.χ. utf8_unicode_ci
  2. Στις ιδιότητες σύνδεσης από το OpenOffice Base ως σύνολο xαρακτήρων UNICODE (UTF-8)
  3. Δίπλα από το όνομα της βάσης (κολλητά)χρειάζεται η παρακάτω σειρά παραμέτρων καθώς δυστυχώς το openoffice.org δεν τις περνάει μόνο με την παραπάνω ρύθμιση. ?useUnicode=true&characterEncoding=UTF-8. (Είπα να κάνω την πρώτη μου υποβολή bug report #78486 σε λογισμικό ανοιχτού κώδικα, (να χαρώ και εγώ ότι συνεισφέρω!) και απ' ότι φαίνεται επιβεβαιώθηκε και προορίζεται να διορθωθεί στην έκδοση 3.0!!)

(βλ. Συνεισφορά openoffice.org χαρακτήρες utf-8 στην βάση)

Σημεία Προσοχής

  • Θα πρέπει να έχουμε ορίσει σε όλους τους πίνακες πρωτεύοντα κλειδιά αλλιώς το OpenOffice Base θα τους διαβάζει ως read-only, χωρίς δυνατότητα τροποποίησης

Φόρμες

Προσθήκη/Αλλαγή νέου πεδίου

Προσθήκη νέου πεδίου

  1. Ανοίγουμε την φόρμα σε κατάσταση επεξεργασίας
  2. Αντιγράφουμε απο ένα ήδη υπάρχον πεδίο με τον τίτλο του και επικολλούμε

Αλλαγή στοιχείων νέου πεδίου

  1. Με CTRL επιλέγουμε τον τίτλο μόνο
    • Κάνουμε διπλό κλικ
    • Αλλάζουμε το πεδίο Τίτλος
  2. Με CTRL επιλέγουμε τον πεδίο εισαγωγής μόνο
    • Κάνουμε διπλό κλικ
    • Στην καρτέλα δεδομένα επιλέγουμε από την λίστα το σωστό πεδίο δεδομένων του πίνακα

Πεδίο Επιλογής από εγγραφές άλλου πίνακα

Έστω ο πίνακας CustomerInfo που περιέχει το πεδίο-ξένο κλειδί IDTypeStatus που αντιστοιχεί στο πεδίο-πρωτεύον κλειδί IDTypeStatus του πίνακα TypeStatus. Ο πίνακας Type Status περιέχει τις εξής εγγραφές που εκφράζουν καταστάσεις π.χ. συνεργασίας ενός πελάτη με μια εταιρεία

IDTypeStatus Name
1 Ενεργή
2 Ανενεργή
3 Έχει Λήξει
4 Ανανεωμένη

Θέλουμε στην φόρμα εισαγωγής τιμής του πεδίου IDTypeStatus του πίνακα CustomerInfo να βλέπουμε σε λίστα τα ονόματα της κάθε κατάστασης Name του πίνακα TypeStatus και όταν επιλέγουμε κάτι να εγγράφεται στην βάση η τιμή του πεδίου IDTypeStatus της αντίστοιχης εγγραφής. Π.χ. επιλέξαμε Ανενεργή να καταχωρηθεί το 2 στο πεδίο CustomerInfo.IDTypeStatus.

-Με CTRL επιλέγουμε τον πεδίο εισαγωγής IDTypeStatus μόνο -Δεξί κλικ και επιλέγουμε αντικατάσταση με Πεδίο Λίστας -Διπλό κλικ και στην καρτέλα γενικά επιλέγουμε Αναπτυσσόμενο και Αριθμός Γραμμών 10 -Στην καρτέλα δεδομένα επιλέγουμε από την λίστα το σωστό πεδίο δεδομένων του πίνακα (αν δεν είναι ήδη επιλεγμένο -Στην ίδια καρτέλα επιλέγουμε Τυπο περιεχομένου sql(native) και περιεχόμενο λίστας Select “TypeStatusName”, “IDTypeStatus” FROM “TypeStatus”

Η SQL ερώτηση του λέει να εμφανίσει στην λίστα τιμές από το “TypeStatusName” αλλά να καταχωρήσει τιμές από το “IDTypeStatus”.

Συνδεδεμένα πεδία

  • Ορίζουμε μόνο το πεδίο ξένο κλειδί που συνδέεται με ένα πεδίο πρωτεύον κλειδί.
  • Ακόμα και αν έχουμε άλλα πεδία που πιθανόν να έχουν ίδιες τιμές δεν τα συνδέουμε διότι οι εγγραφές εμφανίζονται μόνο όταν τα συνδεδεμένα πεδία έχουν ίση τιμή

Χρήσιμοι σύνδεσμοι

el/databases/openoffice_base.txt · Last modified: Y/m/d H:i (external edit)