French Database sqlite

Serge Bertet

Active Member
Licensed User
Je ferais :
B4X:
If File.Exists(File.DirInternal, "LaMieCaline.db") then
    sql1.Initialize(File.DirInternal, "LaMieCaline.db", True)
else
    log("LaMieCaline.db n'existe pas.")
end if
vu que file.copy ne renvoie rien donc on ne sait pas si ça s'est bien passé.
 

sultan87

Active Member
Licensed User
Longtime User
voici le lien
merci à tous
 

klaus

Expert
Licensed User
Longtime User
Il n'y a que la base de données mais pas le projet.
Au lieu de zipper le projet dans l'éditeur essaies de le zipper, aver 7zip, mais seulement le fichier ***.b4a, tous les fichiers xxx.bas et le répertoire Files.
Sans le répertoire Objects qui est souvent volumineux.
 

sultan87

Active Member
Licensed User
Longtime User
 

klaus

Expert
Licensed User
Longtime User
Ci-joint une version qui fonctionne avec le SDK19 et File.DirRootExternal.
Avant de compiler, supprime l'ancienne version de ton appareil.
Lorsque tu compiles Android indique une version ancienne et si tu veux la charger réponds oui.

J'ai constaté que tu n'a pas suivi les conseils que tu as reçu ICI, qui résolvent le problème des Sleep, dommage pour ceux qui aident.
Comme expliqué dans l'autre thread, je me suis un peu amusé avec ton projet.
 

Attachments

  • LaMieCaline4.zip
    66.9 KB · Views: 189

sultan87

Active Member
Licensed User
Longtime User
Toutes mes excuses Klaus
je voulais avancer sur l'enregistrement des infos dans la BD
je vais reprendre le projet en intégrant vos suggestions
encore merci de votre soutien
Pierre
 

sultan87

Active Member
Licensed User
Longtime User
Bonjour tous
je suis absent pour la semaine
j'essaye de regarder mon projet à distance
Pierre
 

sultan87

Active Member
Licensed User
Longtime User
Bonjour à tous
je suis de retour
je teste le projet préparé par Klaus
après avoir compilé, j'ai sur mon smartphone le message "Bloqué par Play Project"
je réponds "OK"
et la "Application non installée"
???
Pierre
 

sultan87

Active Member
Licensed User
Longtime User
Bonjour
je me réponds
je suis allé dans Play Store et j'ai apporté la modif
je fais les tests
merci
Pierre
 

sultan87

Active Member
Licensed User
Longtime User
Merci à tous
cela correspond à ce que je cherchais
je vais apporter une modif pour afficher la liste en fonction du menu
encore merci de vos aides
A bientôt
Pierre
 

sultan87

Active Member
Licensed User
Longtime User
Bonjour Klaus
merci pour votre aide
dans le projet vous avez ajouté un module "Table" cela fonctionne correctement pour remplir le tableau
je voudrais mettre des combobox pour sélectionner l'affichage du tableau (Année Mois)
existe t'il un module similaire à "Table" pour remplir ces combobox
Avez vous entendu parler des appareils Sonoff manager par B4A
Cordialement
Pierre
 

klaus

Expert
Licensed User
Longtime User
je voudrais mettre des combobox pour sélectionner l'affichage du tableau (Année Mois)
Pour remplir des Spinner (ComboBox) il n'y pas, à ma connaissance une bibliothèque toute prête.
Peut-être DBUtils.
Mais ça n'est pas compliqué à faire.
Faire une requête sur la date ou autre et remplir le Spinner.
Exemple du programme SQLiteLight2 du livret B4X SQLite Database.
B4X:
'Initialize the Spinners
Private Sub UpdateFilters
    Private Query1 As String
    Private ResultSet1 As ResultSet
    
    'We execute a query for each column and fill the Spinner
    'We use SELECT DISTINCT to have each existing first name in the database only once
    Query1 = "SELECT DISTINCT FirstName FROM persons ORDER BY FirstName ASC"

    'fill the FirstName Spinner
    ResultSet1 = Main.SQL1.ExecQuery(Query1)
    'we add 'no filter' as no selection
    spnFirstName.Add("no filter")
    'we fill the Spinner with the data from the database
    Do While ResultSet1.NextRow
        spnFirstName.Add(ResultSet1.GetString("FirstName"))
    Loop
    
    'fill the LastName Spinner
    Query1 = "SELECT DISTINCT LastName FROM persons ORDER BY LastName ASC"
    ResultSet1 = Main.SQL1.ExecQuery(Query1)
    spnLastName.Add("no filter")
    Do While ResultSet1.NextRow
        spnLastName.Add(ResultSet1.GetString("LastName"))
    Loop
    
    'fill the City Spinner
    Query1 = "SELECT DISTINCT City FROM persons ORDER BY City ASC"
    ResultSet1 = Main.SQL1.ExecQuery(Query1)
    spnCity.Add("no filter")
    Do While ResultSet1.NextRow
        spnCity.Add(ResultSet1.GetString("City"))
    Loop
    
    ResultSet1.Close
End Sub

Avez vous entendu parler des appareils Sonoff manager par B4A
Non.
J'ai trouvé ceci sur le forum en mettant 'sonoff' dans la case recherche. Mais je n'ai pas regardé le détail.
 

sultan87

Active Member
Licensed User
Longtime User
Bonjour Klaus
merci pour les informations
concernant Sonoff j'avais déja vu, je continue mes recherches
concernant spinner, merci, j'ai créé une table "Mois" avec 2 champs (mois_num et mois_text)
pour faire la liaison avec ma table "Achats" je voudrais dans le spinner Mois afficher le mois_text mais garder en correspondance le mois_num pour construire la requéte qui affichera la liste
est ce possible
pour le management de la bd j'utilise DB Browser
existe t'il un logiciel qui permet de construire visuellement une requête avec plusieurs tables en joinure, style accesst
encore merci pour votre aide
Pierre
 

klaus

Expert
Licensed User
Longtime User
concernant spinner, merci, j'ai créé une table "Mois" avec 2 champs (mois_num et mois_text)
Qu'est-ce que tu entends par une table avec 2 champs ?

Qu'est-ce qu'il y a dans le Spinner Mois ?
Tous les mois de l'année ou seulement les mois qui se trouvent dans la base de données?
Tu pourrais utiliser List avec les noms des mois.
L'index de janvier est 0 donc à toi d'ajouter ou de soustraire 1 au bon moment.

Du style:
B4X:
    Private lstMois As List
Puis:
B4X:
    lstMois.Initialize
    lstMois.AddAll(Array As String("Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jui", "Aoû", "Sep", "Oct", "Nov", "Déc"))
    
    Log(lstMois.Get(1))
    Log(lstMois.IndexOf("Avr"))
Log(lstMois.Get(1)) retourne Fév
Log(lstMois.IndexOf("Avr")) retoune 3

existe t'il un logiciel qui permet de construire visuellement une requête avec plusieurs tables en joinure, style accesst
Je n'en connais pas.
Mais, ces requêtes peuvent être faites dans le code.
B4X SQLite Database
 

Serge Bertet

Active Member
Licensed User
D'accord avec klaus : avec une table d'équivalence (list) tu gagnes un champ de BDD
B4X:
Sub Process_Globals
    ...
    Dim mois_noms As List = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin","Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
    ...
end sub

sub get_mois_nom(mois_num as int) as string
    return mois_noms.Get(mois_num - 1)
end sub
 

sultan87

Active Member
Licensed User
Longtime User
pour répondre à Klaus
ma table "Mois" à 2 champs
Mois_Num (Text) pour faire la relation avec SUBSTR(Date,6,2) dans la requête d'affichage
Mois_Text (Text) pour alimenter mon spinner
je veux choisir l'année dans le spinner_année
puis le mois dans spinner_mois (en lettre)
pour faire ma requète il faut que je garde le nombre correspondant au mois choisit en lettre
 

sultan87

Active Member
Licensed User
Longtime User
Bonsoir à tous
merci pour votre aide
cela m'a permis d'avancer dans mon projet, je le mets en pièce jointe
j'ai résolu le problème du spinner en utilisant le mappage
mais j'ai encore quelques questions à vous soumettre
premièrement en ce qui concerne les 2 spinners 'année' et 'mois'
problème de taille (largeur), lors d'un choix n'affiche pas le texte choisi dans sa totalité (image 1)il faut que j'agrandisse la taille de façon trop importante
lors de l'affichage du choix, comment changer la couleur de fond (image 2)
Deuxièmement en ce qui concerne le bandeau haut ,
comment changer la couleur de fond du menu représenté par les ... (image 3)
comment changer la couleur du bandeau haut
peut on ne pas afficher le titre (La Mie Caline)
est ce que l'image de fond peux couvrir ce bandeau
merci d'avance
Pierre
 

Attachments

  • image 1.jpg
    486.7 KB · Views: 162
  • image 2.jpg
    479.9 KB · Views: 168
  • image 3.jpg
    447.1 KB · Views: 147
  • image 4.jpg
    465.7 KB · Views: 171
  • La Mie Caline.b4a.zip
    404.9 KB · Views: 139
  • LaMieCaline DB.zip
    1.6 KB · Views: 136
Cookies are required to use this site. You must accept them to continue using the site. Learn more…