Pages

Affichage des articles dont le libellé est select. Afficher tous les articles
Affichage des articles dont le libellé est select. Afficher tous les articles

[XL-2010] Copie Shape sans Select sujet

mardi 8 avril 2014




Bonjour tout le monde. :mrgreen:

je disposais de ce code (généré et retouché légèrement par l'enregistreur de macro :aie:), permetant d'aller dans un onglet, selectionner une shape portant un nom défini dans une variable, la copier, aller dans un second onglet, coller la shape dans une cellule, puis la deplacer et lui appliquer une echelle.


Code:


1
2
3
4
5
6
7
8
9
10
11
Sheets(WorksheetConsigne).Select
ActiveSheet.Shapes.Range(Array(CelluleConsigne.Value)).Select
Selection.Copy
Sheets(WorksheetCible).Select
CelluleCible.Select
ActiveSheet.Paste

Selection.ShapeRange.IncrementLeft 4
Selection.ShapeRange.IncrementTop 4

Selection.ShapeRange.ScaleHeight 0.640625, msoFalse, msoScaleFromTopLeft


ce code fonctionnait parfaitement, sauf si je faisait du debug (F8) où, la fenetre VB reprenant le focus, les select (pas bien !!!) perdaient la boule.
ce point, connu, ne posait pas de difficulté, je le contournais quand necessaire.

depuis, j'ai ajouté malheureusement une userform qui interomp le déroulement du programme (bien avant ce bout de code), en necessitant une manipulation utilisateur.
évidement, cet ajout, indispensable, fait perdre, comme VB pour le mode debug, le focus.

j'ai beau essayer de le redonner a grand coup de select, j'ai tout essayé, cela ne marche tout simplement plus.

et de toute facon, travailler avec du select, cay le mal.

sauf que là, ce type de "chose" (copier un shape d'un onglet a l'autre dans une cellule donné, puis la deplacer + echelle) je ne sais pas faire autrement (loose)

je suis donc completement coincé. :calim2:


info sur les variables :
WorksheetConsigne : string contenant le nom de l'onglet ou se trouve le shape d'origine.
CelluleConsigne.Value : une cellule bien particulière, situé sur le meme onglet, donnant le nom du shape, un string, quoi (par exemple : "Picture 7")
WorksheetCible : string contenant le nom de l'onglet où l'on veu coller l'image dupliqué.
CelluleCible : un range contenant l'adresse row,collumns, de la cellule sur l'onglet "cible" où l'on veu coller l'image précisement.



comment remplaceriez vous ligne a ligne cette fonction, avec les varriables listé, pour se passer de select (et re-rendre donc viable cette indispensable fonction de ma macro)



en vous remerciant d'avance. :oops:


cordialement.




select un champ qui n'existe pas dans ma table sujet




Bonjour,
j'ai 2 tables : tab1( champ1, champ2) et tab2(champ3, champ4)
mon but c'est de faire une requete select pour avoir un résultat:

champ1| champ2| champ3| champ4| flag
---------------------------------------------
val1 | val2 | val3 | val4 | true/false

flag=true si champ1==champ3 et champ2==champ4
sinon flag= false
NB : flag n'est pas un champ dans mes 2 tables

n'hésitez pas si vous avez une idée.




[MySQL-4.1] select une table entière avec les vides sujet




bonjour à tous
veuillez m'aider SVP pour corrigé ma requête
je veux afficher les données de toute la table année même s'il n'y a pas de correspondance dans les autres tables..
voici ma requête:
select A.annee , libelle_district,
year(bt_etat41_mens_t1.BT_E41_DAT) as annee,
(bt_etat41_mens_t1.BT_E41_SF410100 +1) as SF ,
(bt_etat41_mens_t1.BT_E41_CRED410100 + bt_etat41_mens_t5.BT_E41_S_ENCOURS410100 )as cred ,
(bt_etat41_mens_t5.BT_E41_SI410100 +1) as SI
from `bt_etat41_mens_t1` , `bt_etat41_mens_t5`, `district`

right join annee as A

on A.annee = year(bt_etat41_mens_t1.BT_E41_DAT)


where
district.code_district = bt_etat41_mens_t1.RC_UR_CODE
and bt_etat41_mens_t1.RC_UR_CODE = bt_etat41_mens_t5.RC_UR_CODE
and bt_etat41_mens_t1.RC_REGION_CODREG = bt_etat41_mens_t5.RC_REGION_CODREG
and bt_etat41_mens_t1.BT_E41_DAT = bt_etat41_mens_t5.BT_E41_DAT
AND libelle_district = 'Tunis ville'
and month(bt_etat41_mens_t1.BT_E41_DAT)='2'
order by year(bt_etat41_mens_t1.BT_E41_DAT) desc




SELECT, INSERT et UPDATE sur un très grand nombre de lignes pour faire un classement sujet

vendredi 28 mars 2014




Bonjour à tous,

je me pose certaines questions sur ma manière de procéder sur une problématique de classement à un QCM, voilà mon cas:

Je propose des QCM de 10 questions max avec entre 2 à 4 choix possibles, 1 seul des choix étant correct.
Les réponses des utilisateurs sont enregistrés sous la forme d'une chaine de caractères numériques où le numéro inscrit correspond à la radiobox coché (ex s'il coche que les 1ères radiobox de chaque question du QCM => 0000000....)

J'enregistre le tout sous la table suivante => membre_id mediumint(8), qcm_id smallint(4), reponse int(10)
où les champs membre_id, qcm_id sont des index et le couple membre_id,qcm_id est un index unique

(Noter que cette table peut devenir très volumineuse le nb d'utilisateur et de QCM augmentant)

Pour calculer le score des utilisateurs et leur classement, je compare leur réponse au résultat officiel (ex: $bonne_reponse='1234512345';)

Ma problématique est dans ma manière de faire, si celle ci me semble correcte quand il y a peu d'utilisateurs,
je me demande si ce serait toujours le cas, s'il devait y en avoir beaucoup plus (potentiellement des centaine de milliers) (soyons optimistes)

Je procède ainsi, ce sera plus facile à comprendre:


Code:


1
2
3
4

$a=strlen($bonne_reponse); // le nb de caractères de la bonne réponse correspondant au nombre de questions du QCM
$quoi=array(); // ici sera inséré le score des utilisateurs
$zql=array();


1) je sélectionne les réponses de tous les membres ayant répondu au questionnaire en une seule requête:


Code:


1
2
3
4

$sql='SELECT membre_id,reponse FROM ma_table WHERE qcm_id='.$value;
$result=mysql_query($sql) or die('Echec 1');
$num=mysql_num_rows($result);


la table ma_table est là où sont enregistrées toutes les réponses des membres aux différents qcm


2) je calcule pour chaque ligne retourné, donc chaque membre, son score en comparant sa réponse à la bonne réponse (je schématise):


Code:


1
2
3
4
5
6

while ($Res = mysql_fetch_row($result) ){
$k=0;
for($i=0;$i<$a;$i++)if($bonne_reponse[$i]==$Res[1][$i])$k++;
$quoi[$Res[0]]=$k; // le score de l'utilisateur membre_id=$Res[0] vaut $k
}


Notez que l'array quoi (ainsi que ci après l'array zql) pourrait avoir des centaines de millers d'entrée, y aura -t-il une problématique à cela ?

3) pour faire le classement je trie par ordre décroissant le tableau des scores en conservant les clés = id des membres


Code:


1
2
3
4
5
	
arsort($quoi);
foreach ($quoi as $key => $val) {
$zql[]='('.$key.','.($val*10).')'; // $key représente membre_id et $val son score (ici dans l'ordre décroissant)
}


4) Après avoir préalablement créé une table spécifique à ce questionnaire-là (donc vide), j'y insère dans l'ordre voulu les membres_id et leur score


Code:


1
2
3
	
$sql2='INSERT INTO qcm_'.$value.' (membre_id,score) VALUES '.implode(',',$zql);
$result2=mysql_query($sql2) or die('Echec 2');


Question => la requête INSERT multiple est-elle efficace pour des centaines de miliers de lignes à insérer ?

La table specifique serait ainsi faite => id (auto_increment), membre_id (index unique), score // ainsi en lisant l'id du membre, on a son classement

5) Enfin, je dois incrémenter le score total de chaque utilisateur sur une table_score existante, malheureusement je crois être obligé de passé par une boucle:


Code:


1
2
3
4
5
6

for($j=0;$j<$num;$j++){

$sql3="UPDATE table_score SET score=score+".$zql[$j][1]." WHERE membre_id='".$zql[$j][0]."'";
$result3=mysql_query($sql3) or die('Echec 3');
}


Bref, voilà donc comment je compte procéder, je n'ai finalement que 2 requêtes toutes simples mais pouvant porter sur un très grand nombre de lignes,
ainsi qu'une 3ème requête Update toute aussi simple mais répétée potentiellement un très grand nombre de fois

Voyez-vous des moyens d'améliorer tout cela, voyez-vous des erreurs ou des améliorations que je pourrais porter à ce script ?
Pour faire court, vos avis, critiques et conseils seront la bienvenue

PS: ce script sera executé en tâche cron pendant la nuit vers les 3h du mat', l'idéal est biensur qu'il dure le moins longtemps possible,
mais si vous pensez qu'il durerea un temps raisonnable sur le serveur dédié suivant http://www.soyoustart.com/fr/offres/sys-e32-1.xml , cela me conviendra

D'ailleurs si vous pourriez me conseillé des modif à effectuer du côté de mysql je suis preneur aussi

Merci d'avance
A bientôt




[AC-2010] Concaténation sous conditions dans select sujet




Bonjour,

Je souhaiterais concaténer les valeurs contenues dans 10 colonnes différentes. Sauf que chacune des colonnes n'est pas forcément renseignée.
Heureusement, la colonne trois ne sera renseignée que si la deuxième l'est, par exemple. Il n'y a pas de colonne vide entre deux données. Sauf pour la dernière colonne (la dixième) qui peut être remplie sans qu'aucune des colonnes précédentes ne le soit.

Donc par exemple :

Citation:





COLONNE1 | COLONNE2 | COLONNE3 | COLONNE4 | COLONNE5 | COLONNE6 | [...] | COLONNE10
ABCD1234 | BAD12345 | ________ | ________ | ________ | ________ | [...] | CD159786
________ | ________ | ________ | ________ | ________ | ________ | [...] | BO786245




Je souhaiterais que les données soient séparées par des virgules. Mais si par exemple seule la première ou la dernière colonne est remplie, pas besoin de virgule.

J'ai fait ça pour le moment :

Code:


1
2
3
4
5
6
7
8
9
10
SELECT
(IFF (COLONNE1 = "", "", COLONNE1 )) &
(IFF (COLONNE2 = "", "", "," & COLONNE2 )) & --la colonne 1 est forcément remplie si la seconde contient des données, donc virgule avant.
(IFF (COLONNE3 = "", "", "," & COLONNE3 )) &
(IFF (COLONNE4 = "", "", "," & COLONNE4 )) &
(IFF (COLONNE5 = "", "", "," & COLONNE5 )) &
(IFF (COLONNE6 = "", "", "," & COLONNE6 )) &
[...]
(IFF (COLONNE10 = "", "", IIF(COLONNE1 = "", COLONNE10, "," & COLONNE10 )))) --la colonne 10 peut-être la seule remplie donc je teste la première colonne pour mettre une virgule avant la donnée ou non.
FROM TABLE


Ce code fait partie d'un select simple pour créer une requête et extraire des données. Pas de VBA.
Et donc lorsque j'exécute mon select j'obtiens l'erreur suivante :

Citation:





Fonction "IIF" non définie dans l'expression




Si je supprime toutes les lignes sauf la première, ça passe

Code:


1
2
3
SELECT
(IFF (COLONNE1 = "", "", COLONNE1))
FROM TABLE


Donc je suppose que ça vient du & IIF. J'ai mis des parenthèses, encapsulé le tout dans un trim... rien n'y fait.

Vous auriez une idée, tout en restant simple?




Erreur SELECT Sql sur base Access sujet




Bonjour
Je rencontre une erreur lorsque je mets le critère de recherche entre double cotes.
Pourtant sous Access ce type de requête est valide.
Voici le message :


http://cjoint.com/?DCCj5BhRiEH











Images attachées










[Débuter] Select valeur comboBox, date et time sujet

jeudi 27 mars 2014




Bonjour, je veux sélectionner le contenu d'un comboBox, DateEdit et TimeEdit

Cela n'a pas fonctionné

il affiche seulement le champ mat


Code:


1
2
3
4
5
6
7
8
9
10

QSqlQuery qry;
qry.prepare("select * from Etudiant");
if(qry.exec()){
while(qry.next()){
ui->lineEdit_matE->setText(qry.value(0).toString());
ui->comboBox_sexE->setCurrentIndex(qry.value(1).toInt());
ui->dateEdit_dateA->setDate(qry.value(2).toDate());
ui->timeEdit_heureA->setTime(qry.value(3).toTime());
}






select valuer comboBox,date et time sujet




Bonjour, je veut sélectionne les le contenus d'un comboBox, DateEdit et TimeEdit

Cela n'a pas fonctionné

il affiche seulement le champ mat


Code:


1
2
3
4
5
6
7
8
9
10

QSqlQuery qry;
qry.prepare("select * from Etudiant");
if(qry.exec()){
while(qry.next()){
ui->lineEdit_matE->setText(qry.value(0).toString());
ui->comboBox_sexE->setCurrentIndex(qry.value(1).toInt());
ui->dateEdit_dateA->setDate(qry.value(2).toDate());
ui->timeEdit_heureA->setTime(qry.value(3).toTime());
}






Remplir un tableau selon le choix d'un select sujet

samedi 1 février 2014




Bonjour à tous

J'ai un select qui contient la liste de catégories et sous catégories de différents services proposés.

Code:


<select id='select' name='select' onchange='...'>
<option value=''>-----choisir-----</option>
<?php foreach($this->categories as $item)
{
    if($item->id_parent == 0)
    { ?>
        <option value="<?php echo $item->id ?>"><?php echo $item->categorie; ?></option>
    <?php }
    else{ ?>
        <option value="<?php echo $item->id ?>"><?php echo '-- '.$item->categorie; ?></option>
    <?php }
} ?>
</select>


Je voudrais que mon tableau qui contient la liste de services avec leurs détails se charge selon la valeur choisie dans select..

Code:


<table class="listeservices">
        <thead>
                <tr>
                        <th width="40">Id</th>
                        <th width="100">Service</th>
                        <th width="350">Description</th>
                </tr>
        </thead>
        <tbody>
                <?php foreach($this->listeservices as $services){ ?>
                        <tr id="<?php echo $services->id_categorie; ?> ">
                                <td><?php echo $services->id; ?></td>
                                <td><?php echo $services->nom; ?></td>
                                <td><?php echo $services->description; ?></td>
                        </tr>
                <?php } ?>
        </tbody>
</table>



Quelqu'un pourrait me guider svp?

Merci d'avance




WEEK dans un select sujet

jeudi 30 janvier 2014




Bonjour à tous,

Je cherche des précisions sur cette fonction.
En effet, j'interroge une table des ventes, avec un select sur un champ "date_livraison", et un SUM sur un champ "montant".

Si je prends la semaine 2, de 2014, qui va, selon le calendrier du 6-01 au 12-01 inclus et que je fais ces 2 requêtes :


Code:


SELECT SUM(montant) FROM table WHERE WEEK(date_livraison) = '2'


et


Code:


SELECT SUM(montant) FROM table WHERE date_livraison >= '2014-01-06' AND date_livraison <= '2014-01-12'


Je n'obtiens pas le même résultat.
Comment est établi WEEK en SQL ?
Merci de vos lumières.
Bonne journée.




Remplir dynamiquement un champ select avec ajax sujet

mercredi 29 janvier 2014




Bonjour,

Je débute avec Symfony2 et j'utilise la libraire FOSUserBundle pour la gestion de mon espace membre.

J'ai modifié mon formulaire d'inscription en ajoutant deux champs de type select ( pays et région). Je voudrais qu'en sélectionnant le pays que la liste région soit celle du pays sélectionné.

J'utilise ajax pour remplir ma liste de régions, cependant quand je sélectionne un pays et que j'affiche sa valeur, elle est indéfinie.

Quelqu'un pourrait-il m'aider à résoudre ce problème. Ci-dessous mes différents codes.

Le formulaire twig:

Code:


{% block javascripts %}
    <script src="{{ asset('bootstrap-3.0.3/userbundle/js/fillRegistration.js') }}"  type="application/javascript"></script>
{% endblock %}
 
<form  "action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register
form-horizontal" role="form">
 
 
 
        <div class="col-md-3 white-background"></div>
      <div class="col-md-6">
        <div class="row">
                      <div class="form-group">
                <label class="col-sm-5 control-label">{{ form_label(form.country) }}</label>
                <div class="col-sm-7">
                {{ form_widget(form.country, {'attr': { 'class': 'form-control', 'onChange': 'fillRegion();', 'id': 'country'}}) }}
                </div>
              </div>
                  <div class="form-group">
                <label class="col-sm-5 control-label">{{ form_label(form.region) }}</label>
                <div class="col-sm-7">
                {{ form_widget(form.region, {'attr': {'class': 'form-control'}}) }}
                </div>
              </div>             
        </div>
            <div class="form-group">
        <div class=" col-sm-12 align-center-button">
            <button type="submit" id="_submit" name="_submit" class="btn btn-btn btn-primary">{{ 'registration.submit'|trans({},          'FOSUserBundle') }}</button>
        </div>
    </div>
      </div>
    <div class="col-md-3 white-background"></div>


Le code javascript:

Code:


function fillRegion()
{
        var id_country = "";
    alert(' avant ===> '+id_country);
    id_country = $("select.country option:selected").val();
    alert(' après ===> '+id_country);
    $.ajax({
      url: "{{ path('pme_registration_fill_region }}",
      type: 'POST',
      data: {'id': id_country},
      dataType: 'json',
      success: function(json){
    $('#region').html('');
    $.each(json, function(index, value) {
    $('#region').append('<option value="'+ value.regCode +'">'+ value.regName +'</option>');
      });
    }
  });
}


Le code du controller:

Code:


public function fillRegionAction()
    {
      $request = $this->getRequest();
      $em = $this->getDoctrine()->getEntityManager();
      if($request->isXmlHttpRequest()) // pour vérifier la présence d'une requete Ajax
      {
        $id = '';
        $id = $request->get('id');
        if ($id != '')
        {
          $tesObjets = $em->getRepository('PmeUserBundle:Countries')
                  ->find($id); // qui retourne une collection d'objet je présume
          $tabObjet = array();
          $i = 0;
          foreach($tesObjets as $tonObjet) // pour transformer la réponse à ta requete en tableau qui replira le select2
          {
        $tabObjet[$i]['regCode'] = $tonObjet->getAlpha2();
        $tabObjet[$i]['regName'] = $tonObjet->getLangFr();
          }
          $response = new Response();
          $data = json_encode($tabObjet); // c'est pour formater la réponse de la requete en format que jquery va comprendre
          $response->headers->set('Content-Type', 'application/json');
          $response->setContent($data);
          return $response;
        }
      }
      return new Response('Erreur');
    }
 }


la route vers l'appel ajax:

Code:


pme_registration_fill_region:
    pattern: /fillRegion
    defaults: { _controller: PmeUserBundle:UserBundle:fillRegion}
    requirements:
        _method: POST



Merci d'avance pour votre aide