banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 15 April 2011 10:48

Soucré
Participant occasionnel
Date d'inscription: 12 Nov 2008
Messages: 40

creation d'un menu pour ajouter des champs

Bonjour,
comment faire pour ajouter des champs a une tables existant avec un Control PopupMenu .

ici un début de code


Include "MapBasic.def"
Include "Menu.def"
Include "Icons.def"

Declare Sub Main
Declare Sub choix

Dim ApplicationPath, champs(20), str,toto as String
Dim i As SmallInt
dim Valeur1,Valeur2,Valeur3 as alias
Dim tata as integer

Sub Main

dialog

  title "Ajouter champs"

 

  control statictext position 150,30 width 30 title "CHOIX "
  Control StaticText position 10,30 title "CONSOMMATION" Control EditText position 80,30 width 60 id 7
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,30 width 55 Height 40 calling choix

  control statictext position 150,60 width 30 title "CHOIX "
  Control StaticText position 10,60 title "CONSOMMATION" Control EditText position 80,60 width 60 id 8
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,60 width 55 Height 40 calling choix

  Control StaticText position 150,90 width 30 title "CHOIX"
  Control StaticText position 10,90 title "CONSOMMATION" Control EditText position 80,90 width 60 id 9
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,90 width 55 Height 40 calling choix
 

  control OKButton Position 100, 180 Width 50 Title "OK" 
  control CancelButton Position 30, 180 Width 50 Title "Annuler"


if commandinfo(cmd_info_dlg_ok) then

end if

   SET PROGRESSBARS ON
End Sub


Sub choix
 
toto=readcontrolvalue(100)

 
        if toto="1" then alter control 7 value "AUCUN"
    elseif toto="2" then alter control 7 value "ALIMENTATION"
   
    elseif toto="3" then alter control 7 value "alcoolise"
   
    elseif toto="4" then alter control 7 value "nonalcool"


    'elseif toto="5" then alter control 7 value "HABILLEMENT"
    'elseif toto="6" then alter control 7 value "JOUETS"
    'elseif toto="7" then alter control 7 value "CHAUSSURES"
    'elseif toto="8" then alter control 7 value "Ameubledeco"
    'elseif toto="9" then alter control 7 value "ENTRETIEN"
    'elseif toto="10" then alter control 7 value "bricojardin"
    'elseif toto="11" then alter control 7 value "ELECTROMENAGER"
    'elseif toto="12" then alter control 7 value "AVI"
    'elseif toto="13" then alter control 7 value "SPORT"
    'elseif toto="14" then alter control 7 value "loisirsculture"
    'elseif toto="15" then alter control 7 value "autres"
   'elseif toto="16" then alter control 7 value "autres2"
   'elseif toto="17" then alter control 7 value "autres3"
end if

  Alter Table "ma_table" ( add value  Integer ) Interactive
  'Alter Table "ma_table" ( add value  Integer ) Interactive
  'Alter Table "ma_table" ( add value Integer ) Interactive

end sub

Hors ligne

 

#2 Fri 15 April 2011 14:47

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: creation d'un menu pour ajouter des champs

Bonjour,

Remplace "Value" dans la ligne ci-dessous par le nom de la colonne

Code:

Alter Table "ma_table" ( add value  Integer ) Interactive

Par

Code:

Alter Table "ma_table" ( add ma_colonne Integer ) Interactive

ma_colonne pouvant être remplacée par une variable de type string

JF

Dernière modification par jean94 (Fri 15 April 2011 14:47)

Hors ligne

 

#3 Mon 18 April 2011 12:16

Soucré
Participant occasionnel
Date d'inscription: 12 Nov 2008
Messages: 40

Re: creation d'un menu pour ajouter des champs

il me remplis le même choix partout   et le message suivant  (remplissage_tab2.mb :112) le champs alimentation existe déja.

Include "MapBasic.def"
Include "Menu.def"
Include "Icons.def"

Declare Sub Main
Declare Sub choix

Dim ApplicationPath, champs(20), str,toto as String
Dim i As SmallInt
dim Valeur1,Valeur2,Valeur3 as alias
Dim tata as integer

Sub Main

dialog

  title "Ajouter champs"

   control statictext position 150,30 width 30 title "CHOIX "
  Control StaticText position 10,30 title "CONSOMMATION" Control EditText position 80,30 width 60 id 7
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,30 width 55 Height 40 calling choix

  control statictext position 150,60 width 30 title "CHOIX "
  Control StaticText position 10,60 title "CONSOMMATION" Control EditText position 80,60 width 60 id 8
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,60 width 55 Height 40 calling choix

  Control StaticText position 150,90 width 30 title "CHOIX"
  Control StaticText position 10,90 title "CONSOMMATION" Control EditText position 80,90 width 60 id 9
  Control PopupMenu Title  "Aucun;ALIMENTATION;alcoolise;nonalcool;HABILLEMENT;JOUETS;CHAUSSURES;Ameubledeco;ENTRETIEN;bricojardin;ELECTROMENAGER;AVI;SPORT;loisirsculture;autres"
  id 100 value 1 into tata Position 185,90 width 55 Height 40 calling choix
 

  control OKButton Position 100, 180 Width 50 Title "OK" 
  control CancelButton Position 30, 180 Width 50 Title "Annuler"


if commandinfo(cmd_info_dlg_ok) then

end if

   SET PROGRESSBARS ON
End Sub


Sub choix
 
toto=readcontrolvalue(100)

 
        if toto="1" then alter control 7 value "AUCUN"
    elseif toto="2" then alter control 7 value "ALIMENTATION"
   elseif toto="3" then alter control 7 value "alcoolise"
       elseif toto="4" then alter control 7 value "nonalcool"
   elseif toto="5" then alter control 7 value "HABILLEMENT"
    elseif toto="6" then alter control 7 value "JOUETS"
    elseif toto="7" then alter control 7 value "CHAUSSURES"
    elseif toto="8" then alter control 7 value "Ameubledeco"
    elseif toto="9" then alter control 7 value "ENTRETIEN"
    elseif toto="10" then alter control 7 value "bricojardin"
    elseif toto="11" then alter control 7 value "ELECTROMENAGER"
    elseif toto="12" then alter control 7 value "AVI"
    elseif toto="13" then alter control 7 value "SPORT"
    elseif toto="14" then alter control 7 value "loisirsculture"
    elseif toto="15" then alter control 7 value "autres"
   elseif toto="16" then alter control 7 value "autres2"
   elseif toto="17" then alter control 7 value "autres3"
end if

if toto="1" then alter control 8  value "AUCUN"
    elseif toto="2" then alter control 8  value "ALIMENTATION"
   elseif toto="3" then alter control 8  value "alcoolise"
       elseif toto="4" then alter control 8  value "nonalcool"
   elseif toto="5" then alter control 8 value "HABILLEMENT"
    elseif toto="6" then alter control 8 value "JOUETS"
    elseif toto="7" then alter control 8 value "CHAUSSURES"
    elseif toto="8" then alter control 8 value "Ameubledeco"
    elseif toto="9" then alter control 8 value "ENTRETIEN"
    elseif toto="10" then alter control 8 value "bricojardin"
    elseif toto="11" then alter control 8 value "ELECTROMENAGER"
    elseif toto="12" then alter control 8 value "AVI"
    elseif toto="13" then alter control 8 value "SPORT"
    elseif toto="14" then alter control 8 value "loisirsculture"
    elseif toto="15" then alter control 8 value "autres"
   elseif toto="16" then alter control 8 value "autres2"
   elseif toto="17" then alter control 8 value "autres3"
end if

if toto="1" then alter control 9 value "AUCUN"
    elseif toto="2" then alter control 9 value "ALIMENTATION"
   elseif toto="3" then alter control 9 value "alcoolise"
       elseif toto="4" then alter control 9 value "nonalcool"
   elseif toto="5" then alter control 9 value "HABILLEMENT"
    elseif toto="6" then alter control 9 value "JOUETS"
    elseif toto="7" then alter control 9 value "CHAUSSURES"
    elseif toto="8" then alter control 9 value "Ameubledeco"
    elseif toto="9" then alter control 9 value "ENTRETIEN"
    elseif toto="10" then alter control 9 value "bricojardin"
    elseif toto="11" then alter control 9 value "ELECTROMENAGER"
    elseif toto="12" then alter control 9 value "AVI"
    elseif toto="13" then alter control 9 value "SPORT"
    elseif toto="14" then alter control 9 value "loisirsculture"
    elseif toto="15" then alter control 9 value "autres"
   elseif toto="16" then alter control 9 value "autres2"
   elseif toto="17" then alter control 9 value "autres3"

end if

' ma_table= selto

    Alter Table "ma_table" ( add ALIMENTATION  Integer ) Interactive
    Alter Table "ma_table" ( add alcoolise Integer ) Interactive
    Alter Table "ma_table" ( add  nonalcool Integer ) Interactive
    Alter Table "ma_table" ( add HABILLEMENT Integer ) Interactive
    Alter Table "ma_table" ( add  JOUETS Integer ) Interactive
    Alter Table "ma_table" ( add  CHAUSSURES Integer ) Interactive
    Alter Table "ma_table" ( add  Ameubledeco Integer ) Interactive
    Alter Table "ma_table" ( add  ENTRETIEN Integer ) Interactive
    Alter Table "ma_table" ( add  bricojardin Integer ) Interactive
    Alter Table "ma_table" ( add  ELECTROMENAGER Integer ) Interactive
    Alter Table "ma_table" ( add  AVI Integer ) Interactive
    Alter Table "ma_table" ( add  SPORT Integer ) Interactive
    Alter Table "ma_table" ( add  loisirsculture Integer ) Interactive
    Alter Table "ma_table" ( add  autres Integer ) Interactive
    Alter Table "ma_table" ( add  autres2 Integer ) Interactive
    Alter Table "ma_table" ( add  autres3 Integer ) Interactive
   

end sub

Hors ligne

 

#4 Mon 18 April 2011 14:08

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: creation d'un menu pour ajouter des champs

Bonjour,

As-tu vérifier si tu avait déja le champ alimentation!

STP quand tu copies ton code sur se forum utilise les balises code.

Merci

JF

Hors ligne

 

#5 Thu 28 April 2011 11:15

Soucré
Participant occasionnel
Date d'inscription: 12 Nov 2008
Messages: 40

Re: creation d'un menu pour ajouter des champs

merci ça marche

Hors ligne

 

Pied de page des forums

Powered by FluxBB