Bonsoir,

0474308831 a écrit :
Bonjour,
J'aimerai savoir comment remplir une colonne de base de donné avec une donnée identique .
Le copier coller sur une colonne ne marche pas comme calc.
Certes mais c'est possible.
Il te faut une colonne de données dont la première cellule (ex: A1) porte le nom du champ concerné.
Puis un drag&drop sur la table à updater.
Il faudra alors préciser (saisir) le nom de la table dans la fenêtre.
Si la première cellule adresse bien le champ défini dans ta table, l'association sera faite automatiquement (proposition que l'on peut toutefois modifier).
merci

Sinon, voici une ébauche de script pour alimenter ta colonne.

public aConnexion as object

sub ConnecterSource()
  dim sNomSource as string, sLogin as string, sPassword as string
  dim aSrcCntxt as object, aDbContext as object

  sNomSource = "myOOoBase"
  aDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
  aSrcCntxt  = aDbContext.getByName( sNomSource )

  'Parametres de connexion optionnels
  sLogin    = ""
  sPassword = ""
  aConnexion = aSrcCntxt.getConnection( sLogin, sPassword )

  if IsNull( aConnexion ) then
    msgbox( "Connexion impossible", 16 )
    Stop
  end if

end sub

sub DeconnecterSource()

  aConnexion.close()
  aConnexion.dispose()

end sub

sub Insert()

  dim aQuery  as object
  dim aResult as long, nInsert as long, nIterat as long
  dim sSQL    as string

  call ConnecterSource()

  sTable  = "Table1"
  sChamp  = "nom"
  sDonnee = "test"
  nInsert = 200
  nIterat = 0

  sSQL    = "INSERT INTO """ & _
           sTable & """ (""" & _
           sChamp & """) VALUES ('" & _
           sDonnee & "')"

  while nIterat <= nInsert
    aQuery  = aConnexion.createStatement()
    aResult = aQuery.executeUpdate(sSQL)
    nIterat = nIterat + 1
  wend

  aConnexion.getTables( sTable ).refresh()
  msgbox( nInsert & " insertion(s)réalisée(s)" )

  call DeconnecterSource()

end sub

NB : dans cet exemple il s'agit d'INSERT (d'ajout)

On pourrait supposer que la table contient déjà des données et dans ce cas il faudrait procéder à une séquence d'UPDATE.

A toi de jouer ;)

Francois Gatto

PS : faire des sauvegardes avant intervention !


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à