Ok vous avez raison, je vais afficher une partie du code pour plus de conviction:
Code : Tout sélectionner
;Variables globales communes
Global WSql.s,Wstring$,LastItem$,ErrorFound,WMsg$,wPanel,wCoul
Global UserName$,wAd$,wRC$,wMf$,waRt$,wRib$,wTel$,wLogo$
Global WDest$,wSource$,DataPath$,wOpenEXE,wMntL$
Global wAdUser$,wTelUser$,wRCUser$,wMfUser$,WARTUser$,WRibUser$
Global wMagSEL$,wFourSEL$,wClientSEL$,wFamSEL$,wProvSEL$,wDestSEL$,wCodeFourSEL,wCodeClientSEL
Global wCheck_Mag,wCheck_Four,wCheck_Client,wCheck_Prov,wCheck_Dest,wCheck_Fam
Global wTotQte.q,wTotMnt.q,wNumBon,wCF$,wVer$,wNumBon$
;Identificateurs bases de données
Global IdProd,IdClient,IdFour,IdFam,IdMag,IdStockMP,IdStockPF,IdUm,IdPar
Global IdBeMp,IdBeMpCum,IdTypeMvt,IdVerClient,IdVerFour
Global IdBsMp,IdBsMpCum,IdDest,IdBePf,IdBePfCum,IdBsPf,IdBsPfCum,IdProv,IdFs
Global IdTmpFicheClient,IdTmpFicheFour,IdTmpSoldeGlobal,IdCheq,IdBank,IdMvtBank
Global IdBrs,IdTempoProd,IdInv,IdTempoSolde,IdTempoCF
Global IdBL,IdCumBL,IdCumBr,IdFac,IdCumFac,IdVerR,IdVerE,IdProf,IdCumProf
Global IdFicheS,IdTempoStockCF,IdSolde
;Variables de travail
Global wVerBank.q,wVerBank$,wTotVerBank.q,wTotVerBank$,wNumRecu$
Global WMag$,wTypeMvt$,wTypeProd$,WDes$,WDest$,wProv$,WCode,Wum$,Wfam$,Wpv$,wPr$,wQi$,wVi$,wVi.q
Global WQeBr.q,wQeBrs.q,wQsBrs.q,wQsC.q,wQsV.q,wQf.q,wPmp.q
Global WQeBr$,wQeBrs$,wQsBrs$,wQsC$,wQsV$,wQf$,wPmp$
Global WQe.q,wQs.q,wQi.q,wValeur.q,wValeur$,wFamSEL$,wBank$,WTypeDep$,wNumCpte$,WTypeOp$,WNumRecu$
Global WQe$,wQs$,wPas.d,wval,wvB.d
Global wTotVerEsp.q,wTotVerCheq.q,WTotVer.q,wTotDebit.q,wTotCredit.q,wTotDebit$,wTotCredit$
Global wCodeFour,wCodeClient,wFour$,wClient$,wCodeProd
;Variables imprimantes
Global WPu$,wPu.q,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,wpos
Global L1,L2,L3,L4,L5,L6,Lfin,wTypePrinter$,wDpsPrinte$,wLarPrinter$,wHautPrinter$
Global wtaille,wTaille1,wTaille2,wTaille3,wTaille4,wTaille5,wTaille6,wTaille7,wTaille8
;Propre à la gestion
Global wCode,wNom$,wAd$,WRc$,wMf$,wArt$,wRib$,wSi$,Wcreance$,wDette$,wVerR$,wVerE$,wNewSolde$,Wsolde$
Global wSi.d,WCreance.d,wDette.d,WVerR.d,wVerE.d,WNewSolde.d,WSolde.q
Global wCodeBL,wCodeBr,wNumdoc$,wDate$,wDateNum$,wQte$,wPu$,wMnt$
Global wNumdoc,wDateNum,wQte.q,wPu.q,wMnt.q
Global wNumBc$,wDocSource$,wHT$,wFrais$,wRemise$,wTTC$,wVerEsp$,wVerCheq$,wRefCheq$,wObs$
Global wHT.q,wFrais.q,wRemise.q,wTTC.q,wVerEsp.q,wVerCheq.q,wRefCheq.q,wObs.q
Global WStock$,Wstock.q
Global wCodeFac,wTauxTva$,wTaux.q,WTva$,Wtva.q,WTimbre$,WTimbre.q
Global wCheckTimbre,wCheckTva
Global wCodeVer,WVerseur$
Global wQteE.q,wQteS.q,wQteE$,wQteS$
Global Wtot.q, WtotEsp.q,WTotCheq.q,WTotG.q
Global WQte$,Wqte.q,Wmnt.q,Wmnt$,WUm$
Global wCodeCon
Global WtotE.q, WtotS.q,WTotE$,wTotS$
Global WtotHT.q,WtotFrais.q,WtotRemise.q,WtotTtc.q,WtotVerEsp.q,WtotVerCheq.q
Global WtotHT$,WtotFrais$,WtotRemise$,WtotTtc$,WtotVerEsp$,WtotVerCheq$
Global WtotTimbre$,WtotTva$,WtotTimbre.q,WtotTva.q
Global wCheckEsp,wCheckCheq,wCheckAll,WCheckInit
Global WQteC.q,wQteP.q,wQteC$,wQteP$,WEcart.q,WEcart$
Global wCheckQteC,wCheckQteP,wCheckStockNul,wCheckEcart
Global WDoc$,Wlib$,WDebit$,WCredit$,Wsolde$,WDebit.q,WCredit.q,WSolde.q,wAncienSolde.q,wAncienSolde$
Global WtotSi.q,WtotCreance.q,WtotDette.q,WtotVerR.q,WtotVerE.q,WtotSolde.q
Global WtotSi$,WtotCreance$,WtotDette$,WtotVerR$,WtotVerE$,WtotSolde$
;Les tableaux
Global Dim ListMois$(12),Dim wCar$(30),Dim wCase$(14,1000),u,wCol,wRow
Global Dim wBankName$(10),Dim wBankCpte$(10),Dim wBankSi$(10),Dim wBankSolde$(10)
;Formatage date et heure
Global wDateDebut,wDateFin,wDateDebut$,wDateFin$,wDateLue,wDebut,WFin,wDateNum,wDateNum$
Global wJour,wMois,wyear
Global Z,K$,wNumFiche$,WEntete,wNumFiche
Global WLib$ ,WLigne,WFound
;------------- Progres bar -----------------
Global WMaxi,WPv,wNum,wMax
;Varibales de fermeture des fenêtres
Global wQuitWinUpd,wQuitWinJLd,wQuitWinTab,wQuitWinSolde,wQuitWinCaisse,wQuitWinInv,wQuitWinJlc
Global wQuitWinJlc,wQuitWinInvStock,wQuitMarge
;Bilan comptable et fiscal
Global IdCaisse,wDep.q,wRec.q,wDep$,wRec$,wTotDep$,wTotRec$,wTotDep.q,wTotRec.q,wMotif$,IdBilanCF
Global IdJdCaisse,IdJCheq,WCheqE$,WCheqR$,WTotE.q,WTotR.q,WTotE$,WTotR$,WNbreE,WNbreR
Global IdMarge,WValeurA.q,wValeurV.q,WValeurA$,wValeurV$
Global IdBilanV,WBilValStock.q,WBilValBL.q,WBilValBR.q,WBilValCon.q,WBilValFV.q,WBilValFS.q
Global WBilDepCaisse.q,WBilRecCaisse.q,WBilSoldeCaisse.q,WBilVerE.q,WBilVerR.q,WBilMarge.q,WCreanceDette.q
;Options
Global wCheckAllTables,WCheckmCaisse
Global wStockNeg,wMajStockBR,wMajStockBL,wMajStockFv,wStockAlerte,wSoldeAlerte,wCfDouteux
Global wPayEspBR,wPayEspBL,wPayEspFv,wPayCheqBR,wPayCheqBL,wPayCheqFv,wPayTermeBR,wPayTermeBL,wPayTermeFv
Global IdParGes,wNdQte$,wNdMnt$,wNdQte,wNdMnt
;Montants en lettres
Global Dim Wnbre$(100),wMilliard$,wMillion$,wMillier$,wCentaine$
;------------------------------Bases de données ---------------------------------------------------------------
UseSQLiteDatabase()
Procedure CheckDatabaseUpdate(Database, Query$)
Result = DatabaseUpdate(Database, Query$)
If Result = 0
Debug DatabaseError() + " Ligne " + Str(wLigne)
EndIf
ProcedureReturn Result
EndProcedure
;----------------------------------------------------------------------------------------------------------
Procedure CheckDatabaseQuery(Database, Query$)
Define Resultat
Resultat = DatabaseQuery(Database, Query$)
If Resultat = 0
Debug DatabaseError() + " Ligne " + Str(wLigne)
EndIf
ProcedureReturn Resultat
EndProcedure
;---------------------------- Res. imprimante xcm ---------------------------------------------------------------
Procedure xcm(x.f)
result = x * (PrinterPageWidth()/21) ; 21cm A4
ProcedureReturn result
EndProcedure
;---------------------------- Res. imprimante ycm ---------------------------------------------------------------
Procedure ycm(x.f)
result = x * (PrinterPageWidth()/29.7) ; 29,7cm A4
ProcedureReturn result
EndProcedure
;---------------------------------- Test si image valide ----------------------------------------------------------
Procedure ImageFile(wFile$)
If UCase(GetExtensionPart(wFile$))<>"JPG" And UCase(GetExtensionPart(wFile$))<>"GIF" And UCase(GetExtensionPart(wFile$))<>"PNG" And UCase(GetExtensionPart(wFile$))<>"BMP" And UCase(GetExtensionPart(wFile$))<>"JPEG"
result =0
Else
result = 1
EndIf
ProcedureReturn result
EndProcedure
;------------------------------ Open base de données ------------------------------------------------------------------
IdFam=0
Dbs$ = "Data\DbFam.sqlite"
If Not OpenDatabase(IdFam, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdProd=1
Dbs$ = "Data\DbProd.sqlite"
If Not OpenDatabase(IdProd, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdClient=2
Dbs$ = "Data\DbClient.sqlite"
If Not OpenDatabase(IdClient, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdFour=3
Dbs$ = "Data\DbFour.sqlite"
If Not OpenDatabase(IdFour, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdStockMP=4
Dbs$ = "Data\DbStockMP.sqlite"
If Not OpenDatabase(IdStockMP, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdStockPF=5
Dbs$ = "Data\DbStockPF.sqlite"
If Not OpenDatabase(IdStockPF, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdMag=6
Dbs$ = "Data\DbMag.sqlite"
If Not OpenDatabase(IdMag, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBeMp=7
Dbs$ = "Data\DbBeMp.sqlite"
If Not OpenDatabase(IdBeMp, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBeMpCum=8
Dbs$ = "Data\DbBeMpCum.sqlite"
If Not OpenDatabase(IdBeMpCum, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdVerClient=9
Dbs$ = "Data\DbVerClient.sqlite"
If Not OpenDatabase(IdVerClient, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdVerFour=10
Dbs$ = "Data\DbVerFour.sqlite"
If Not OpenDatabase(IdVerFour, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdDest=11
Dbs$ = "Data\DbDest.sqlite"
If Not OpenDatabase(IdDest, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBsMp=12
Dbs$ = "Data\DbBsMp.sqlite"
If Not OpenDatabase(IdBsMp, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBsMpCum=13
Dbs$ = "Data\DbBsMpCum.sqlite"
If Not OpenDatabase(IdBsMpCum, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBePF=14
Dbs$ = "Data\DbBePF.sqlite"
If Not OpenDatabase(IdBePF, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBePFCum=15
Dbs$ = "Data\DbBePFCum.sqlite"
If Not OpenDatabase(IdBePFCum, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdProv=16
Dbs$ = "Data\DbProv.sqlite"
If Not OpenDatabase(IdProv, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBsPF=17
Dbs$ = "Data\DbBsPF.sqlite"
If Not OpenDatabase(IdBsPF, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBsPFCum=18
Dbs$ = "Data\DbBsPFCum.sqlite"
If Not OpenDatabase(IdBsPFCum, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!" + "IdBsPFCum")
End
EndIf
IdFs=19
Dbs$ = "Data\DbFs.sqlite"
If Not OpenDatabase(IdFs, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!" + "IdBsPFCum")
End
EndIf
IdBank=20
Dbs$ = "Data\DbBank.sqlite"
If Not OpenDatabase(IdBank, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdMvtBank=21
Dbs$ = "Data\DbMvtBank.sqlite"
If Not OpenDatabase(IdMvtBank, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdFac=22
Dbs$ = "Data\DbTFac.sqlite"
If Not OpenDatabase(IdFac, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdCumFac=23
Dbs$ = "Data\DbTCumFac.sqlite"
If Not OpenDatabase(IdCumFac, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdVerE=24
Dbs$ = "Data\DbTVerE.sqlite"
If Not OpenDatabase(IdVerE, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBrs=25
Dbs$ = "Data\DbBrs.sqlite"
If Not OpenDatabase(IdBrs, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdFicheS=26
Dbs$ = "Data\DbFicheS.sqlite"
If Not OpenDatabase(IdFicheS, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdTmpFicheClient=27
Dbs$ = "Data\DbTmpFicheClient.sqlite"
If Not OpenDatabase(IdTmpFicheClient, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdInv=28
Dbs$ = "Data\DbInv.sqlite"
If Not OpenDatabase(IdInv, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdTmpFicheFour=29
Dbs$ = "Data\DbTmpFicheFour.sqlite"
If Not OpenDatabase(IdTmpFicheFour, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdTmpSoldeGlobal=30
Dbs$ = "Data\DbTmpSoldeGlobal.sqlite"
If Not OpenDatabase(IdTmpSoldeGlobal, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdSolde=31
Dbs$ = "Data\DbTSolde.sqlite"
If Not OpenDatabase(IdSolde, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdCaisse=32
Dbs$ = "Data\DbCaisse.sqlite"
If Not OpenDatabase(IdCaisse, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdJdCaisse=33
Dbs$ = "Data\DbJdCaisse.sqlite"
If Not OpenDatabase(IdJdCaisse, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdJCheq=34
Dbs$ = "Data\DbJcheq.sqlite"
If Not OpenDatabase(IdJcheq, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdMarge=35
Dbs$ = "Data\DbMarge.sqlite"
If Not OpenDatabase(IdMarge, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdCheq=36
Dbs$ = "Data\DbCheq.sqlite"
If Not OpenDatabase(IdCheq, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdBilanCF=37
Dbs$ = "Data\DbBilanCF.sqlite"
If Not OpenDatabase(IdBilanCF, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdProf=38
Dbs$ = "Data\DbTProf.sqlite"
If Not OpenDatabase(IdProf, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdCumProf=39
Dbs$ = "Data\DbTCumProf.sqlite"
If Not OpenDatabase(IdCumProf, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdTempoCF=40
Dbs$ = "Data\DbTempoCF.sqlite"
If Not OpenDatabase(IdTempoCF, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdCumBr=41
Dbs$ = "Data\DbTCumBr.sqlite"
If Not OpenDatabase(IdCumBR, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdParGes=42
Dbs$ = "Data\DbParGes.sqlite"
If Not OpenDatabase(IdParGes, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
IdPar=43
Dbs$ = "Data\Dbparam.sqlite"
If Not OpenDatabase(IdPar, Dbs$, "", "")
MessageRequester("Info", "Ouverture " + Dbs$ + " impossible!")
End
EndIf
;-------------------------------- Conversion Entier cm en nbre Décimal (ex: 14300 devient 143.00 ) ---------------------
Procedure Convertir_En_D()
;Enlever les espaces des milliers
WNew$=""
Wstring$=Trim(wString$)
For i=1 To Len(Wstring$)
WVal$=Mid(Wstring$,i,1)
If WVal$<>"" And WVal$<>"." And WVal$<>","
WNew$=WNew$+wVal$
EndIf
Next i
Wstring$=Trim(wnew$)
Wtaille=Len(wString$)
;Cas où le nbre est trop petit (ex: 1 centième)
If wtaille=1 : wString$="0.0" + Trim(wString$): EndIf
If wtaille=2 : wString$="0." + Trim(wString$): EndIf
If wtaille>2
WLeft$=Left(wString$,wtaille-2)
wDecim$=Right(wString$,2)
wString$=Trim(WLeft$+"."+wDecim$)
EndIf
If ValQ(wString$)=0 : wString$="0.00" : EndIf
If Left(wString$,1)="." Or Left(wString$,1)="," : wString$="0"+wString$ : EndIf
Wstring$=Trim(wString$)
EndProcedure
;-------------------------------- Conversion Décimal vers Entier (ex: 143.77 devient 14377)----------------------
Procedure Convertir_En_E()
wPos= FindString(Wstring$, ",", 1)
If wpos=0
wPos= FindString(Wstring$, ".", 1)
EndIf
If wpos=0
Wstring$=Wstring$+"00"
Else
wDecim$=Mid(Wstring$,wpos+1,2)
wLeft$=Left(Wstring$,wpos-1)
wRight$=LSet(wDecim$,2,"0")
Wstring$=Trim(wLeft$)+Trim(wRight$)
EndIf
Wstring$=Trim(wString$)
EndProcedure
;-------------------------------- Séparation en milliers --(ex: 147889.25 devient 147 889.25) ------------------
Procedure SeparerEnMillier()
For i=1 To 22 : wCar$(i)="" : Next i
Wtaille=Len(wstring$)
wCar$(1)=Mid(wString$,wtaille,1)
wCar$(2)=Mid(wString$,wtaille-1,1)
wCar$(3)=Mid(wString$,wtaille-2,1)
n=0 : i=4
For j=wtaille-3 To 1 Step -1
wCar$(i)=Mid(wString$,j,1)
n=n+1
If n=3
i=i+1
wCar$(i)=Space(1)
i=i+1
n=0
Else
i=i+1
EndIf
Next j
wstring$=""
For j=i To 1 Step -1
wstring$=wstring$+wCar$(j)
Next j
wString$=Trim(wString$)
EndProcedure
;-------------------------------- Test si Numérique --------------------
Procedure IsNumeric(wString$)
wString$=Trim(wString$)
If Left(wString$,1)="-"
wTaille=Len(wString$)-1
wString$=Right(wString$,wtaille)
Else
wTaille=Len(wString$)
EndIf
wNbDecim=0
k$=""
Result=0
For z=1 To wTaille
k$=Mid(wString$,z,1)
If k$="1" Or k$="2" Or k$="3" Or k$="4" Or k$="5" Or k$="6" Or k$="7" Or k$="8" Or k$="9" Or k$="0" Or k$="," Or k$="."
Result=1
Else
Result=0
Break
EndIf
If k$="," Or k$="."
wNbDecim=wNbDecim+1
If wNbDecim>1
Result=0
Break
EndIf
EndIf
Next z
ProcedureReturn Result
EndProcedure
;-------------------------------- Test si NbreDécimal --------------------
Procedure NbreDecimal(wString$)
wString$=Trim(wString$)
wTaille=Len(wString$)
wNbDecim=0
k$=""
Result=0
For z=1 To wTaille
k$=Mid(wString$,z,1)
If k$="1" Or k$="2" Or k$="3" Or k$="4" Or k$="5" Or k$="6" Or k$="7" Or k$="8" Or k$="9" Or k$="0" Or k$="," Or k$="."
Result=1
Else
Result=0
Break
EndIf
If k$="," Or k$="."
wNbDecim=wNbDecim+1
If wNbDecim>1
Result=0
Break
EndIf
EndIf
Next z
ProcedureReturn Result
EndProcedure
;-------------------------------- Test si NbreEntier --------------------
Procedure NbreEntier(wString$)
wString$=Trim(wString$)
wTaille=Len(wString$)
k$=""
Result=0
For z=1 To wTaille
k$=Mid(wString$,z,1)
If k$="1" Or k$="2" Or k$="3" Or k$="4" Or k$="5" Or k$="6" Or k$="7" Or k$="8" Or k$="9" Or k$="0"
Result=1
Else
Result=0
Break
EndIf
Next z
ProcedureReturn Result
EndProcedure
;************************************ Récupérer les paramètres utilisateur *******************
wsql="SELECT * FROM Fparam"
CheckDatabaseQuery(IdPar,wsql)
If NextDatabaseRow(IdPar)
wRs$=GetDatabaseString(IdPar, 0)
wAdUser$=GetDatabaseString(IdPar,1)
wTelUser$=GetDatabaseString(IdPar,2)
wRCUser$=GetDatabaseString(IdPar,3)
wMfUser$=GetDatabaseString(IdPar,4)
WARTUser$=GetDatabaseString(IdPar,5)
WRibUser$=GetDatabaseString(IdPar,6)
Wlogo$=GetDatabaseString(IdPar,7)
EndIf
;-- Cette partie n'a rien à voir avec ma question du forum et nécessite d'ailleurs la présence de la DLL (FGetParamFile.dll)
;--- c'est pourquoi je la mets sous forme de commentaires------------------------------------------------------
;Infos de sécurité
;UserName$="" : wdemo$=""
;
;If OpenLibrary(0, "GetParamFile.dll")
; UserName$=PeekS(CallFunction(0, "GetUserName","c"))
; wDemo$=PeekS(CallFunction(0, "GetDemoValue","v"))
; wlimit=(CallFunction(0, "GetLimitValue"))
; CloseLibrary(0);
;
;ElseIf OpenLibrary(0, "GetParamFile.dll")
; UserName$=PeekS(CallFunction(0, "GetUserName","",-1,#PB_Ascii))
; wDemo$=PeekS(CallFunction(0, "GetDemoValue","",-1,#PB_Ascii))
; wlimit=(CallFunction(0, "GetLimitValue"))
; CloseLibrary(0)
;EndIf
;-----------------------------------------------------------------------------------------------------------------------;-- Je copie ici UNIQUEMENT le code qui nous intéresse (j'ai éliminé tous les autres codes inutiles ici )---------------
;Mon programme se trouve dans d:/proINT/proint.exe
;Ma base de données se trouve dans d:/proINT/data/DbClient.sqlite (La table TabClient appartient à cette base)
;La base a déjà été ouverte plus haut (toutes les bases sont ouvertes au début de ce programme),
voici un aperçu de l'ouverture de la base testée :
;IdClient=2
;Dbs$ = "Data\DbClient.sqlite"
:If Not OpenDatabase(IdClient, Dbs$, "", "")
: MessageRequester("Erreur", "Ouverture " + Dbs$ + " impossible!")
: End
:EndIf
; Observations:
;-- Puisque je ne reçois aucun message et le programme ne s'arrête pas, donc la base a été convenablement ouverte
;Voici le code qui nous intéresse
[b]Wsql="Select * FROM TabClient WHERE Ville=" + chr(34) + "RENNES" + chr(34)
CheckDataBaseQuery(IdClient,Wsql)
While NextDataBaseRow(IdClient)
NomClient$=GetDataBaseString(IdClient,1)
Debug NomClient$
Wend
End
[/b]
J'ai fait ça uniquement pour tester si le réseau marche bien ( j'ai saisi quelques enregistrements clients au niveau du PC1
et j'ai saisi encore d'autres enregistrements au niveau du PC2, en revenant sur le pc1, j'ai exécuté ce code qui doit m'afficher l'ensemble des clients saisi dont la ville = rennes, le résultat ne donne que ce qui a saisi sur le pc utilisé... c'est ça mon problème c'est comme si je n'utilise pas de réseau...