IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Copy de données d'une table vers une autre conditionelle, puis suppression de la première. [LibreOffice][Base de données]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier
    Profil pro
    Responsable de service informatique
    Inscrit en
    mars 2003
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2003
    Messages : 93
    Points : 93
    Points
    93
    Par défaut Copy de données d'une table vers une autre conditionelle, puis suppression de la première.
    LO 7.1,

    Bonjour,

    j'ai glâné autant d'infos possible et ne trouve pas de soutien sur mon probleme, meme sur ask.libreoffice. j'ai démarré le projet il y a une semaine (et donc j'apprends sur le tas le basic libre office)

    J'ai deux tables de structure différentes, la première est la source de données et contient le champs déterminant la condition de copie des valeurs vers des champs d'une autre table. ensuite( quand déjà ceci fonctionnera, il me faudra supprimer les enregistrements de la table source. Il sagit d'une simple gestion d'inventaire avec mise au rebus. les seules façon d'y arriver sont semble t'il les commandes SQL par macro.

    j'ai obtenu ceci, mais n'ai pas assez de recul SQL pour résoudre le probleme de message d'erreur très imprécis que je reçois.
    Erreur d'exécution BASIC.
    Une exception s'est produite :
    Type: com.sun.star.sdbc.SQLException
    Message: Wrong data type: java.lang.IllegalArgumentException.
    SYNOP:
    INSERT INTO table2 (column1, column2, column3, ...)
    SELECT column1, column2, column3, ...
    FROM table1
    WHERE condition;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Move_OutofInventory()
    Dim oStatement As Object
    Dim StrTime as string
    Dim StrSQL as string
    	if IsNull(ThisDatabaseDocument.CurrentController.ActiveConnection) then
        	ThisDatabaseDocument.CurrentController.connect
    	endif
    	oStatement = ThisDatabaseDocument.CurrentController.ActiveConnection.createStatement()
    	StrTime = Format(now(),"D/MM/YY")
    	strSQL ="INSERT INTO ""TAB_SORTIE_INV"" (""TYPE"", ""SERIE_DU_TYPE"",""MARQUE"",""DATE_ACHAT"",""BUDGET_ACHAT"",""SERIAL"",""DATE_SORTIE_INV"") SELECT ""TYPE"", ""SERIEduTYPE"",""MARQUE"",""DATE_ACHAT"",""BUDGET_ACHAT"",""SERIALNUMBER"",'"+ StrTime +"' FROM ""TAB_INVENTAIRE"" WHERE ""ASortirDeLinventaire"" = true"
    	oStatement.execute(StrSQL)
    End sub
    merci de m'aider à résoudre le probleme et rendre enfin fonctionel la commande SQL sous libre office.

  2. #2
    Membre régulier
    Profil pro
    Responsable de service informatique
    Inscrit en
    mars 2003
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2003
    Messages : 93
    Points : 93
    Points
    93
    Par défaut Résolu, commande SQL et date avec mauvais format
    ' ╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
    Sub Move_OutofInventory()
    ' ╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝█
    ' ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim oStatement As Object
    Dim strSQL As String
    	if IsNull(ThisDatabaseDocument.CurrentController.ActiveConnection) then
        	ThisDatabaseDocument.CurrentController.connect
    	endif
    	oStatement = ThisDatabaseDocument.CurrentController.ActiveConnection.createStatement()
    	StrDate = Format(now(),"YYYY-MM-DD")
    	strSQL ="INSERT INTO TAB_SORTIE_INV (TYPE, SERIE_DU_TYPE, MARQUE,NOM, DATE_ACHAT, BUDGET_ACHAT, SERIAL, DATE_SORTIE_INV) SELECT TYPE, SERIEDUTYPE, MARQUE,NOM, DATE_ACHAT, BUDGET_ACHAT, SERIALNUMBER, '"+StrDate+"' FROM TAB_INVENTAIRE WHERE ASORTIRDELINVENTAIRE = TRUE;"
    	msgbox(StrSQL)
    	oStatement.execute(StrSQL)
    End sub
    puis pour supprimer dans la table initiale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSQL ="DELETE FROM TAB_INVENTAIRE WHERE ASORTIRDELINVENTAIRE = TRUE;"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copie de données d'une table vers une autre en récupérant les ID
    Par NabuchodonosorII dans le forum Développement
    Réponses: 1
    Dernier message: 11/12/2011, 16h23
  2. Copie de données d'un onglet vers un autre
    Par smael51 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/09/2010, 09h21
  3. Réponses: 3
    Dernier message: 15/10/2008, 10h24
  4. copie des données d'un champ vers un autre
    Par cvlpj dans le forum IHM
    Réponses: 10
    Dernier message: 26/12/2006, 23h15
  5. Réponses: 1
    Dernier message: 26/12/2006, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo