C'est embêtant à l'importation car si la ddl contient une clé primaire elle n'est pas répercutée dans la table importée. J'imagine que c'est pour cela que l'importation d'un sql est toujours problématique avec le module d'importation. Et puis en cas d'utilisation d'une base non intégrée, dont l'accès serait donnée par une application tierce, cela pose un problème particulier aussi.
Oui, merci, j'ai demandé trop vite.
Bonjour tous, Lorsque l'on ajoute certains composants, comme une listbox, un wizard s'affiche. Une vue peut-être créée via ce wizard, qui est assignée comme datasource au composant via nsbaselists. Ces vues ne sont pas visibles dans l'explorateur d'objets. Alors j'aimerais percer à jour ce mystère, particulièrement, comment modifier ces vues cachées, les supprimer, s'il est possible de les utiliser dans d'autre circonstances, formes, composants, etc. Merci pour vos lumières.
Bonjour, Merci pour l'info, et désolé pour le français approximatif, je devais être dans un état second.
Bonjour tous, Après un certain temps, je reviens sur cette propriété ConditionalFormatting, qui fonctionne bien et j'aurais aimé savoir s'il est possible d'utiliser cette propriété pour modifier le style de toute une ligne sur un critère tiré d'une seule cellule ? J'ai créé une table qui contient des comptes pour une comptabilité en partie double, et pour pouvoir améliorer la lecture j'aimerais que certaines lignes soient d'une couleur spécifiques par exemple pour les comptes de passifs ou d'actifs....
Merci, pour information: dans l'explorateur d'objets les tables ne se mettent pas à jour automatiquement, mais dans la création d'une vue, il y a aussi une sorte d'explorateur d'objets qui lui est à jour. Je vous ajoute un copie d'écran.
Bonjour, J'ai déjà créé la table à partir de NSBASE. J'ai importé des données et cette base, je l'ai paramétré comme extérieur à l'application. (projet, paramètres, projet.actif/données/ fichier de données séparé). Puis comme c'est une table assez imposante, j'ai voulu faire des manipulations pour diviser cette table en sous tables et faire une duplication de la table de base pour éviter une cata. Mais je ne m'en sortais pas. Je me suis donc connecté à la table avec un outil extérieur. (dbeaver)...
Importation, rafraîchissement, mise à jours de base exterieure
Je ne crois pas que cela soit possible directement. Les actions sur les boutons sont limités et aucune action compiler n'existe dans celles-ci. S'il s'agit de créer un application clône de la première, il possible de passer par un script Lua et powershell et de lancer cela via un script personnalisé. J'ajoute qu'il est peut-être possible de créer une application basique avec une application d'automatisation type autoIT.
les vues construites avec requêtes
Non, j'ai pas encore eu le temps, je vous message dès que j'ai essayé. Le 29.05.2021 à 13:27, surfvite a écrit : Avez vous essayé ce nouvel API ? [tickets:#111] https://sourceforge.net/p/nsbase/tickets/111/ problème de traduction de caractères spéciaux. Status: open Group: V1.9 Created: Tue May 04, 2021 12:11 PM UTC by Petitpainauchocolat Last Updated: Sun May 23, 2021 06:21 AM UTC Owner: nobody J'utilise la fonction os.execute() pour envoyer une commande à thunderbird. Je récupère le contenu d'un...
Bonjours, Énorme est peut-être un peu exagéré. Voici une copie en pièce jointe. Le 29.05.2021 à 13:25, surfvite a écrit : pouvez vous me transmettre une copie d'écran [tickets:#113] https://sourceforge.net/p/nsbase/tickets/113/ Taille de police dans la console. Status: open Group: V1.9 Created: Mon May 24, 2021 08:05 AM UTC by Petitpainauchocolat Last Updated: Mon May 24, 2021 08:05 AM UTC Owner: nobody Bonjour, j'ai téléchargé la version 1.9.11 et en ouvrant l'application j'ai constaté que la taille...
Taille de police dans la console.
merci, je vais essayer, en regardant la documentation LUA, j'ai trouvé la commande net.smtp.send(params) mais ça ne fonctionne pas. Probablement pas implémenté dans cette version de NSBASE. Ce serait pourtant utile pour envoyer directement des rapports par exemple ou des alertes. Pour l'instant j'ai codé en dur la commande pour thunderbird, c'est uniquement pour ce client mail et vu la difficulté pour trouver des infos à ce propos pour un logiciel open-source j'imagine même pas la galère pour les...
J'ai trouvé cette fonction qui permet de contourner le problème sans le régler puisqu'il remplace les caractère accentués par la lettre sans accent. -- supprime les accents de la chaîne function sans_accent(str) if (str) then str = string.gsub (str,"Ç", "C") str = string.gsub (str,"ç", "c") str = string.gsub (str,"[-èéêë']+", "e") str = string.gsub (str,"[-ÈÉÊË']+", "E") str = string.gsub (str,"[-àáâãäå']+", "a") str = string.gsub (str,"[-@ÀÁÂÃÄÅ']+", "A") str = string.gsub (str,"[-ìíîï']+", "i")...
J'ajoute que j'ai testé os.Execute avec ZeroBrane et que j'ai aussi des caractères fantaisistes.
Oups j'ai oublié de dire Bonjour précédemment , donc Bonjour, J'ai fais un print() de la ligne de commande et copié le résultat dans la console. J'ai lancé la commande depuis une console Windows et je n'ai pas le problème de caractères, donc entre la console Windows et en l'occurrence thunderbird les caractères ne changent pas. c'est entre os.Execute et la console qu'il y a un truc qui se passe.
problème de traduction de caractères spéciaux.
Le rapport est automatiquement sauvé à la racine de l'application lors de l'ouverture, et prend le nom du rapport. Il est aussi possible de modifier le chemin et le nom de l'application avec la propriété FileName du rapport.
Le rapport est automatiquement sauvé à la racine de l'application lors de l'ouverture, et prend le nom du rapport. Il est aussi possible de modifier le chemin et le nom de l'application avec le propriété FileName du rapport.
Bonjour, J'ai créé un rapport et j'aimerais le sauvegarder automatiquement. Quel sont les moyens possibles ? Merci pour votre prochaine réponse.
Quand je charge du html depuis la onLoad du formulaire ca passe tout seul.
Bon j'ai trouvé tous seul comme un grand: il faut mettre EditionMode a true pour que le champs puisse être mis à jour dynamiquement. Mais cela créé un scintillement du fait de l'apparition rapide de l'éditeur. self.setProperty('HtmlMemo2.EditMode',1) self.setProperty('HtmlMemo2.HTML',html) self.setProperty('HtmlMemo2.EditMode',0)
Bonjour, Dans une fonction OnTimer(), j'ai ajouté du code pour que l'application extrait des données groupées par somme. A la sortie Print() j'ai les données souhaitées. Mais je n'arrive pas à mettre à jours le HTML de mon HtmlMemo2.Html dans la même fonction. function Vote:ActionOnTimer() local dt = nsbase.datasetCreate("SQLQuery") dt.SQL = "SELECT sum(`oui`) as ouis, ".. "sum(`non`) as nons, ".. "sum(`abstentions`) as abs, ".. "sum(`blancs`) as blancs ".. "FROM votes ".. "WHERE id_vote = "..id_vote...
Bonjour, Dans une fonction OnTimer(), j'ai ajouté du code pour que l'application extrait des données groupées par somme. A la sortie Print() j'ai les données souhaitées. Mais je n'arrive pas à mettre à jours le HTML de mon HtmlMemo2.Html dans la même fonction. function Vote:ActionOnTimer() local dt = nsbase.datasetCreate("SQLQuery") dt.SQL = "SELECT sum(`oui`) as ouis, ".. "sum(`non`) as nons, ".. "sum(`abstentions`) as abs, ".. "sum(`blancs`) as blancs ".. "FROM votes ".. "WHERE id_vote = "..id_vote...
true vs Y
Ca me paraît ok.
DBGrid et Vue
Abandonnez j'ai viré cette fonction. je reviendrais si je tombe sur le même problème.
Je saurais pour la prochaine fois j'ai mis > 0 ca fonctionne aussi.
Cela fonctionne avec =:'ma date:date' il y une petite différence avec ce que vous m'avez proposé mais cela fait la différence, autrement il y a une erreur sql
Tri sur la date dans une vue.
Vue.Critère.ftBoolean
Affichage des fonctions
Bonjour, C'est plutôt un commentaire. Je trouve un peu bizarre qu'il n'y ait pas la possibilité de changer des propriétés d'une forme depuis le steelsheet qui lui est assigné. je ne sais pas si c'est voulu mais venant du web, ca me chatouille.
Bonjour, Je pense que c'est un faux positif mais je préfère vous avertir., AVAST ne me dit rien. Un malware est détecté avec malwarebyte dans les fichiers zip que vous fournissez. Je met une capture d'une partie du résultat.
Il y a dans la fenêtre fonctions, Raccourcis, propriétés un onglet API très pratique. Je me demandais s'il était possible de faire quelque chose de similaire, d'éditable, un snippets editor pour y stocker nos propres bouts de code réutilisables, loops de base, ouvertures de fichier de base de données. etc. et de l'insérer comme depuis l'onglet API.
Merci je suis entrain de réfléchir sur ceci: Lors d'un vote dans un conseil communal en Suisse, il y a plusieurs manières de voter. selon que ce soit un vote ou un élection. A bulletin secret lorsque demandé pour un sujet sensible, à main levée, à l'applaudissement, si par exemple une seule personne et présentée pour une commission. chacune de ces méthodes nécessitent une mise en formulaire différente. Je veux utiliser une seule "feuille" pour la saisie des comptes des scrutateurs selon le type de...
Bonjour, Je me demandais s'il était possible d'accéder aux cellules d'un DBGrid pour relever une valeur ou en modifier une. du genre setProperty('DBGridX.Grid(x,y)', 'mavaleur' / getProperty('DBGrid.Grid(x,y)').
Merci. A l'occasion je crois qu'il serait bien d'aiguiller l'utilisateur vers la bonne manière de faire. Genre "impossible d'assigner un chemin directement" ou quelque chose dans le genre.
Image
Zone HTML Width
Export de tables.
Bonjour, Pour tester ma base avec un outil extérieur, je l'exporte avec le "wizard " ? exporter j'ai décris dans le document attaché quelque propositions d' amélioration qui pourrait être éventuellement apportée pour cette partie du programme.
Bonjour, Je suis entrain de tester les feuilles de style. j'ai commencé par les boutons, en créant un style Nom du style = '' type de composant = "button" propriété color = "$00D0F7CA" et la couleur des boutons est bien vert pâle. Cependant lorsque le bouton est disabled, il ne prend pas par défaut les caractéristiques "normale" du bouton et aucune différenciation graphique n'apparaît. C'est embêtant car dans les propriétés ne permettent pas de le faire. A première vue.
Bonjour, Je suis entrain de tester les feuilles de style. j'ai commencé par les boutons, en créant un style Nom du style = '' type de composant = "button" * propriété color = "$00D0F7CA" et la couleur des boutons est bien vert pâle. Cependant lorsque le bouton est disabled, il ne prend pas par défaut les caractéristique normale du bouton et aucune différenciation graphique n'apparaît. C'est embêtant car dans les propriété ne permettent pas de le faire. A première vue.
Ce ne sont que des propositions. Serait-il possible, par contre, pour vous d'améliorer la complétion de code en prenant en compte les scripts et librairies ?
je vais regarder, mais je suis revenu sur un ticket que j'avais ouvert il y a quelque mois et dont la réponse suffit à mon bonheur.
oui.
[déjà fait, mais comme cela fait un moment que je n'ai pas touché nsbase, tout s'est envolé de mon esprit.] Avoir dans les composants listeBox et ComboBox une propriété supplémentaire qui stock un autre champs, je pense particulièrement à l'id des enregistrements affichés et pouvoir bien entendu le récupérer.
La possibilité de renommer les objets depuis l'arborescence, avec propagation dans le code of course.
Avoir dans les composants listeBox et ComboBox une propriété supplémentaire qui stock un autre champs, je pense particulièrement à l'id des enregistrements affichés et pouvoir bien entendu le récupérer.
I agree with Freen. that is a must have. and I would suggest to add a link to the download page on the new version popup.
ListBoxX.Text ne renvoie pas tout le texte de la ligne
HtmlMemo.OnMouseMove()
Bien heureux d'être utile.
Voilà ce code fonctionne , il est pas entièrement propre mais les fonctions sont utilisables dans l'environnement de mon application et je n'ai par ailleur pas d'erreur à l'utilisation. jusqu'à maintenant.
décalage entre le formatage du code et sa vérification
merci ! tout est ok
il y a de quoi devenir chèvre: Avec le code ci-dessous formaté selon votre message precédent, j'ai l'erreur suivante dans la console: ScriptError [Debats_Votes_et_elections] at line 45: attempt to concatenate a nil value (field '?') et #enr me renvoie 0 quelque soit la ligne que je choisi. local lsttxt = self.getProperty('ListBox1.Text') local enr = lsttxt:split(lsttxt, '\t') print(enr[1].."--"..enr[2].."--"..enr[3]) Mais si je remplace le : pas un . Cette erreur ne s'affiche que quand une ligne...
il y a de quoi devenir chèvre: Avec le code ci-dessous formaté selon votre message precédent, j'ai l'erreur suivante dans la console: ScriptError [Debats_Votes_et_elections] at line 45: attempt to concatenate a nil value (field '?') et #enr me renvoie 0 quelque soit la ligne que je choisi. local lsttxt = self.getProperty('ListBox1.Text') local enr = lsttxt:split(lsttxt, '\t') print(enr[1].."--"..enr[2].."--"..enr[3]) Mais si je remplace le : pas un . Cette erreur ne s'affiche que quand une ligne...
il y a de quoi devenir chèvre: Avec le code ci-dessous formaté selon votre message précésend, j'ai l'erreur suivante dans la console: ScriptError [Debats_Votes_et_elections] at line 45: attempt to concatenate a nil value (field '?') et #enr me renvoie 0 quelque soit la ligne que je choisi. local lsttxt = self.getProperty('ListBox1.Text') local enr = lsttxt:split(lsttxt, '\t') print(enr[1].."--"..enr[2].."--"..enr[3]) mais si je remplace le : pas un . Cette erreur ne s'affiche que quand une ligne...
Bonjour, Il y a une option dans les propriété de ListBox qui permet de sélectionner plusieurs lignes. mais lorsque l'on fait cela, la propriété text ne prend pour valeur qu'une seule ligne, De quelle manière récupérer ces lignes proprement ? En les ajoutant à un tableau ?
En fait non, Avec un .j'arrive à faire mon split, mais pas avec:. J'avais changé pour : et ca a fonctionné jusqu'à que je relance NSBASE et maintenant j'ai une erreur. J'ai donc remis le . cela fonctionne à nouveau. Par contre le correcteur de code rouspète pour le .
Alors: local tab=s:split("aa bb cc dd"," " ) Ca passe avec le vérificateur de code, mais local tab=s.split("aa bb cc dd"," " ) fonctionne parfaitement mais est arrêté par le vérificateur Donc je m'intérroge sur le "indispensable"
Alors: local tab=s:split("aa bb cc dd"," " ) Ca passe avec le vérificateur de code, mais local tab=s.split("aa bb cc dd"," " ) fonctionne parfaitement mais est arrêté par le vérificateur
Bonjour, J'utilise le formatage de code ce qui est bien pratique, mais lorsqu'il y a un problème dans le code, le formateur s'arrête et renvoie une erreur. Serait-il possible de savoir à quelle ligne le problème se trouve ? Aussi, si j'utilise une fonction d'une bibliothèque intégrée, stringutil, j'ai une erreur lorsque je fais appel à la fonction "vérifier" avec l'erreur illegal API: string.split( Si je commente la ligne en quesiton j'ai tout de même l'erreur.
Bonjour, J'utilise le formatage de code ce qui est bien pratique, mais lorsqu'il y a un problème dans le code, le formateur s'arrête et renvoie une erreur. Serait-il possible de savoir à quelle ligne le problème se trouve ? Aussi, si j'utilise une fonction d'une bibliothèque intégrée, stringutil, j'ai une erreur lorsque je fais appel à la fonction "vérifier" avec l'erreur illegal API: string.split( A noter toutefois que le code fonctionne.
Bonjour, J'utilise le formatage de code ce qui est bien pratique, mais lorsqu'il y a un problème dans le code, le formateur s'arrête et renvoie une erreur. Serait-il possible de savoir à quelle ligne le problème se trouve ? Aussi, si j'utilise une fonction d'une bibliothèque intégrée, stringutil, j'ai une erreur lorsque je fais appel à la fonction "vérifier" avec l'erreur illegal API: string.split(
Bonjour, J'utilise le formatage de code ce qui est bien pratique, mais lorsqu'il y a un problème dans le code, le formateur s'arrête et renvoie une erreur. Serait-il possible de savoir à quelle ligne le problème se trouve ?
C'est tout bon, je n'ai pas pu essayer plus tôt, impossible de télécharger quoi que ce soit sur sourceforge.
Super, vivement la mise à jour, c'est très perturbant comme comportement.
Bon c'est revenu, pourtant ce n'est pas la première fois. Je soupçonne que cela se passe si une fonction n'est pas déclarée correctement. je modifierais ce post quand je saurais reproduire le problème. [EDIT] cela recommence, mais je n'arrive pas à comprendre exactement quand cela vient. Quelques fois le problème se règle en fermant un formulaire et en le rouvrant.
Bon c'est revenu, pourtant ce n'est pas la première fois. Je soupçonne que cela se passe si une fonction n'est pas déclarée correctement. je modifierais ce post quand je saurais reproduire le problème.
Propriété des contrôles
Same, glyphs doesn't appear even if the bitmap is loaded
J'ai bien relevé la manière d'accéder à la donnée, mais j'ai tout de même un retour au format string: local sqlcnt = "SELECT count(*) as cnt FROM preparation_conseil" dta.SQL = sqlcnt dta.open() cnt = dta.getFieldname('cnt') print(type(cnt)) -- renvoie string et j'ai le même retour sur une requête sur un champs 'Entier' je vous met la table affichée au format édition en fichier joint. local sql="SELECT id, pos, date_conseil FROM preparation_conseil WHERE titre='"..rg[1].."' AND type='"..rg[3].."'...
Ok, mais cela veux dire que le champs passé en Date et resté au format date/heure ?
Oui, dans les deux sens Date/Heure -> Date et Date->Date/Heure. Pouquoi ça devrait pas ? Après j'ai pas essayé tout ce qu'il est possible de faire. Mais changer le type de champs en mode edition de la table ca passe.
Oui, dans les deux sens Date/Heure -> Date et Date->Date/Heure. Pouquoi ça devrait pas ?
C'était un champs date/heure que j'ai passé en date
Cela ne fonctionne pas, impossible d'extraire une donnée même avec le format de date anglais. par contre: SELECT id, pos, date_conseil FROM preparation_conseil WHERE titre='test' AND date_conseil LIKE('%2020-08-13%') Me donne le résultat voulu. je vais continuer comme cela. c'est comme si il y avait autre chose dans le champs date_conseil, c'est étrange.
Ca donne rien. SELECT id, pos, date_conseil FROM preparation_conseil WHERE titre='my bloody votation' AND type='Election' AND date_conseil='05-08-2020' j'ai essayé en enlevant la date pour être certain que je n'ai pas fais une erreur de code: SELECT id, pos, date_conseil FROM preparation_conseil WHERE titre='my bloody votation' AND type='Election' et là la requête me renvoie bien l'enregistrement que je cherche. Le format du champs est 'Date' j'ai essayé avec et sans les guillemets simples
J'ai créé une table avec un champs date. sur un formulaire, j'ai ajouté un DateTimePicker. J'ai assigné au formulaire la table et au DateTimePicke la date pour enregistrer la date Dans la table je vois par exemple: 25.08.2020 Jusque là cela fonctionne à merveille pour moi. Maintenant, si je prend la date 25.08.2020 et que je fais une requête: DataSet.sql("SELECT * FROM tble WHERE dte = 25.08.2020") ou DataSet.sql("SELECT * FROM tble WHERE dte = '25.08.2020'") Pas de résultat. J'ai essayé de remplacer...
Merci pour la remise sur rails, je vais mettre en place cela lundi.
J'ajoute que j'ai voulu passer le champ de la table en texte, mais le contrôle date n'aime pas dutout cela.
requête parmaètrée
Un autre: Vous je sais pas, mais quand je développe une base, je fais des essais et la base se remplis de données que j'aimerais parfois supprimer d'un coup. Je verrais d'un assez bon oeil l'apparition d'un menu " truncate" . je mets une image en exergue
Bonjour, j'ai fais quelque tests: Je suis retourné dans une base que je fais en parallèle et j'ai remarqué que je n'utilisait "getFieldname" que dans un contexte "nsbase.datasetCreate("self.DBGrid")". j'ai recréé une requête avec les contexte "nsbase.datasetCreate("SQLQuery")", en enlevant le "count(*) as cnt" pour ne travailler que sur les champs natifs de la table et j'ai le même resultat, une erreur comme ci-dessus.
Merci pour votre réponse. En utilisant local cnt = ds.getFieldname('cnt') j'ai l'erreur suivante: ScriptError [General] at line 19: FieldName [cnt] not found J'ai modifié depuis la requête: local ds=nsbase.datasetCreate("SQLQuery") local query = "SELECT count(*) as cnt, nom, type FROM identification WHERE identifiant ='"..usr.."' and password='"..pwd.."'" ds.SQL = query ds.execSQL() mais cela n'a pas d'incidence. local cnt = ds.getItems('cnt') me retourne ce que je désire mais pas getFieldname. C'est...
Merci pour votre réponse. En utilisant local cnt = ds.getFieldname('cnt') j'ai l'erreur suivante: ScriptError [General] at line 19: FieldName [cnt] not found J'ai modifié depuis la requête: local ds=nsbase.datasetCreate("SQLQuery") local query = "SELECT count(*) as cnt, nom, type FROM identification WHERE identifiant ='"..usr.."' and password='"..pwd.."'" ds.SQL = query ds.execSQL() mais cela n'a pas d'indicence. local cnt = ds.getItems('cnt') me retourne ce que je désire mais pas getFieldname. C'est...
J'ajoute ici deux améliorations possibles, 1) le bouton mettre en commentaire met en commentaire bloc que ce soit un bloc de code ou pas. serait-il possible de faire en sorte que le commentaire soit -- en début de ligne si aucun texte n'est sélectionné et en bloc si un bloc de commentaire est sélectionné. 2) la mise en page des formulaires est quelques fois un peu laborieuse du fait qu'il n'est pas possible de sélectionner plusieurs contrôles à la fois pour les déplacer est-ce possible de le faire...
1) la date peut-être une bonne chose, mais pour l'utilisateur la version numéroté reste la référence. 2) Je déclare les todos comme ceci: --@todo le truc que je veux faire un peu plus tard
"count" renvoie un string
J'ai essayé de plusieurs manières d'où la coquille dans le code.
J'ai essayé de plusieurs manière d'où la coquille dans le code.
Bug d'interception de touche enter.
1) Je pensais à une manière d'incrémenter automatiquement un numéro de version lorsque l'on sauve la base ou qu'on la compile. 2) j'utilise le mot clé @todo pour laisser des commentaires ou je dois modifier le code et quand je veux obtenir la liste de ces todo, je fais une recherche depuis "projet". peut-être un onglet en bas avec une liste des todo, et autre mots commencant par @. Mais là on est dans le luxe. 3) lorsque l'on ajoute un script, personnel ou extérieur, je serais intéressé de pouvoir...
Formulaire de saisie
Impression du stock