Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Dezactivare in ...
 Dezactivare in Form
 
 2/20/2011 2:34:33 AM
User is offlineJohnnyPK22
31 posts


Dezactivare in Form
 (N/A)
Nu stiu daca s-a mai intalnit problema asta, dar eu am cautat pe site si nu am gasit nimic referitor la ea.

Deci problema pe care am intalnit-o este urmatoarea:
Am un form si un tabel intr-o baza de date.
In acel form am diferite obiecte(textbox,option grup,editbox) pe care vreau sa le, leg la tabelul meu. Cand fac acest lucru de la optiunea ControlSource obiectul respectiv se dezactiveaza. Daca folosec alta tabela pare sa se activeze dar imi apare un Text in textbox pe care, cred, ca il ia din tabelul respectiv.
Eu cred ca obiectele din form-ul meu citesc valorile din tabel; nu le introduc in tabel cum ar trebui sa se intample.
Cum as putea sa rezolv problema asta, si de ce s-a intamplat? Pentru ca am vreo 6 tabele si vreo 6 form-uri in proiect si n-am mai patit asa la nici unul.
 2/20/2011 9:13:05 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A) Modified By Grigore Dolghin  on 2/20/2011 10:13:18 AM)
Chestia asta se intampla de obicei atunci cand tabela de care le-ai legat n-are inregistrari (sau are, dar are un filtru care elimina toate inregistrarile). Nu cumva asta e situatia la tine?

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/20/2011 11:54:19 AM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
pai e goala tabela ... dar ideea e ca eu vreau sa adaug valorile pe care le introduc in formular in acel tabel, iar la mine se intampla exact invers ... mi le citeste din tabel si mi le afiseaza in form.
la cele dinainte totul a mers cum trebuie, dar acum s-a schimbat ceva si nu imi dau seama ce anume :(
 2/20/2011 12:57:51 PM
User is offlineMarian Dobre
398 posts
3rd


Re: Dezactivare in Form
 (N/A)
Ca introduci o inregistrare goala in tabela ta ar trebui sa ai undeva o comanda de tipul Append Blank. Cand ti se apeleaza aceasta comanda? Pe form-ul tau ar trebui sa ai 3 butoane (Adaugare, Modificare Stergere). Uita-te pe tutorialele de incapator postate pe acest site in sectiunea Download.

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 2/20/2011 1:13:28 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
Mersi muuuult :)

asta era ... uitasem sa pun codul corespunzator la metoda Init :)) ...

cred ca de la oboseala si stres


mersi inca o data ...


 2/20/2011 4:13:38 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
Am mai intampinat o mica problema in aplicatia mea.

Am o optiune de cautare : Search in<column> for<text>.
Cautarea propriuzisa merge ok, dar imi merge doar daca introduc inceputul de text. nu imi cauta anumite cuvinte.
De exemplu: in coloana <Nume> am <Negru Ionut Valentin>; daca vreau sa caut "Ne" imi va afisa corect, dar daca caut "Ionut" nu imi mai afiseaza nimic. Deoarece textul nu incepe cu "Ionut". Cum as putea rezolva aceasta mica problema ?
 2/20/2011 10:54:27 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
Uite-te la functia Occurs().

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/21/2011 9:51:02 AM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
deci pentru optiunea de search am folosit o metoda de filtrare "setfilter" la care am codul urmator

<code>LPARAMETERS tcFieldName, tcSearchText

SET FILTER TO && clear any previous filters

SET FILTER TO ALLTRIM(UPPER(&tcFieldName)) = ALLTRIM(UPPER("&tcSearchText"))
GO TOP
thisform.Refresh()[/code]




iar pentru butonul de find am urmatorul cod
[code]LOCAL cfield, ctext, nItem


nItem = thisform.cboField.ListIndex
IF EMPTY(thisform.aflds[nItem,2]) then
    cfield = thisform.aflds[nItem,1]
ELSE
    cfield = thisform.aflds[nItem,2]
ENDIF

ctext = thisform.txtSearchText.Value

thisform.setfilter(cfield, cText)</code>

Cautarea mea se face astfel...selectez dintr-un dropdown coloana pe care vreau sa fac cautarea iar apoi intr-un textbox introduc textul dupa care vreau sa fac cautarea.

Am tot incercat sa introduc functia Occurs() dar nu reusesc...imi tot da erori de tip, value cand fac cautarea propriuzisa ...
unde ar trebui sa introduc aceasta functie si cam care ar fi contructia ei ?

am cautat pe google despre aceasta functie dar nu prea am gasit ceva care sa imi explice calumea cum as putea sa o folosesc intr-o functie de cautare... iar la help in VFP este foarte putin...

 2/21/2011 11:00:09 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
Pai... ceea ce e in help este suficient, trebuie doar sa fii creativ.

Returns the number of times a character expression occurs within another character expression.

OCCURS(cSearchExpression, cExpressionSearched)
STORE 'abracadabra' TO gcstring
CLEAR
? OCCURS('a', gcstring) && Displays 5

-----------------------------
Daca un text apare in interiorul altui text, OCCURS() returneaza un numar diferit de zero. Deci, in cazul tau:
LPARAMETERS tcFieldName, tcSearchText
SET FILTER TO OCCURS("&tcSearchText", &tcFieldName) > 0

wtf, dude. Cand iei codul din alta parte incearca sa-l si intelegi. SET FILTER TO ca sa cureti filtrele existente si apoi imediat inca un SET FILTER TO? primul e inutil. Renunta si la functiile de formatare din SET FILTER, ca-ti incetinesc aplicatia (VFP executa functia aia pentru fiecare inregistrare; daca ai 5000 de inregistrari in tabela o sa ai 5000x2 apeluri ale lui ALLTRIM(UPPER). Si sa nu te miri ca merge incet.


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/21/2011 2:13:27 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
Pai din ce am citit am inteles ca mai intai sterge filtrele(poate au mai ramas filtre) si apoi setez filtrul.
De asta am pus si "SET FILTER TO"

iar pentru occurs ... am incercat cum ai zis tu si nu merge ... nu imi mai afiseaza nici o intrare ...

 2/22/2011 9:51:36 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A) Modified By Grigore Dolghin  on 2/22/2011 10:52:19 AM)
1. Daca ai niste filtre active si executi SET FILTER TO <altceva>, filtrele anterioare se sterg oricum.
2. Merge, crede-ma. Verifica mai intai daca se construieste corect comanda aia. Exerseaza functia OCCURS() folosind doua variabile, ca in exemplul din help. In ultima instanta posteaza codul aici.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/22/2011 12:03:01 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
 Grigore Dolghin wrote
1. Daca ai niste filtre active si executi SET FILTER TO , filtrele anterioare se sterg oricum.
2. Merge, crede-ma. Verifica mai intai daca se construieste corect comanda aia. Exerseaza functia OCCURS() folosind doua variabile, ca in exemplul din help. In ultima instanta posteaza codul aici.


Am inteles cum functioneaza OCCURS(), dar nu reusesc sa il fac sa mearga pentru search-ul meu ... Daca nu introduc primele caractere nu imi afiseaza nimic ... De exemplu daca am "Masina albastra" si caut "m", "Ma" "masina" "Masina" "Masina albastra" imi va gasi intrarea respectiva, dar daca caut "albastra" "bastra" "alba"  "tra" nu imi va mai gasi intrarea, chiar daca contine characterele respective...

Functia de cautare este ceva de genul :    Cauta in <FIELD NAME> pentru <SEARCH TEXT>. Caut doar pe coloana respectiva selectata. Daca am un tabel cu NUME, PRENUME, ORAS si selectez ca FIELD NAME, NUME, atunci imi va cauta textul doar in NUME.


Codul pe care l-am folosit este urmatorul ...

Pentru butonul FIND ->

LOCAL cfield, ctext, nItem

** pentru obtinerea campului pentru care vreau sa fac cautarea
nItem = thisform.cboField.ListIndex
IF EMPTY(thisform.aflds[nItem,2]) then
    cfield = thisform.aflds[nItem,1]
ELSE
    cfield = thisform.aflds[nItem,2]
ENDIF

** iau valoarea pentru carea vreau sa fac cautarea
    ctext = thisform.txtSearchText.Value
**apelez metoda pentru filtrare(codul mai jos)
thisform.setfilter(cfield, cText)

si pentru metoda setfilter ->

LPARAMETERS tcFieldName, tcSearchText
SET FILTER TO UPPER(&tcFieldName) = ALLTRIM(UPPER("&tcSearchText"))
GO TOP
thisform.Refresh()

Am tot incercat diferite metode pentru a implementa functia occurs dar tot nu reusesc ... :(.
Imi cer scuze ca tot revin cu atatea intrebari pe aici. Sunt abia l-a inceput, si invat toate chestiile astea pe parcurs.
 2/22/2011 1:00:16 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
Ia atasamentul asta, cauta dupa "escu" in nume, sau dupa "esti" in oras, si apoi uite-te cum e facut.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
DemoFilter.zip 
 2/22/2011 2:36:32 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
mersi muult :) ... dar mai am o mica problema ... acuma este case sensitive ...
la a meu am facut cu UPPER pt FieldName si SearchText ...

dar acuma daca pun upper nu mai merge cum, am pus la metoda click, cand apelez metoda setfilter ... thisform.setfilter(upper(thisform.cboField.value), ALLTRIM(upper(thisform.txtSearchText.Value))), dar nu a mers, ori a mers defectuos, nu facea cautarile cum trebuie
am incercat si direct la metoda setfilter, lcCommand = "Set Filter To Occurs('" + upper(tcSearchText) + "', " + upper(tcFieldName + ")) > 0 In 'bon'" dar daca pun aici, daca introduc mai mult de 1 singur caracter nu imi mai ia nici o inregistrare...

 2/22/2011 2:55:33 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
Mai tata, ma scoti din rabdari. Inceteaza cu UPPER(camp), fiindca SET FILTER TO NUMECAMP = "ceva" este absolut identic cu SET FILTER TO numecamp = "ceva". Modul in care este ortografiat NUMELE campului n-are nici o importanta, poa'sa'l cheme NuMEcAmP, ca o sa mearga oricum. Problema ta este la VALOAREA pe care o cauti.

Ce intelegi prin "a mers defectuos" si "nu facea cautarile cum trebuie"? le facea din 2 in 2? sau sarea peste anumite inregistrari ca nu-i placea lui cum arata? daca vrei raspunsuri coerente, da-ne mesajele de eroare sau descrie CORECT problema ta. Eu n-am cum sa raspund la "nu face cautarile cum trebuie".

"Set Filter To Occurs('" + upper(tcSearchText) + "', " + upper(tcFieldName + ") -<<< VEZI PARANTEZA ASTA DE AICI? TREBUIA SA FIE LANGA TCFIELDNAME, IN EXTERIORUL GHILIMELELOR. ) > 0 In 'bon'"

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/22/2011 2:57:42 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
off topic. Constat ca am din ce in ce mai putina rabdare si devin din ce in ce mai nervos. Ar trebui sa ma las dracului de astea si sa-mi vad de ale mele.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/22/2011 3:18:22 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
Nu e de la paranteza, aia a fost un typo aicic pe forum ...
cand am spus ca nu face cautarile cum treb daca pun upper, m-am referit la faptul ca, cateodata cand pun mai mult de 1 caracter  nu mai afiseaza nimic, cateodata daca pun lowerscore(si defapt in tabel e upperscore) imi afiseaza ... cateodata nu afiseaza ... adica nu face ce ar trebui sa faca ... la asta m-am referit la cautare defectuoasa ...
nu am zis ca am erori sau altceva ...
doar ca nu afiseaza ce trebuie si cum treb ... asta daca pun upper() ... daca las fara upper ... search-ul este case-sensitive ... si eu as vrea sa nu fie asa ...
am scos upperul de la FieldName ... aceeasi treaba ... nu afecta nimic functia de cautare ...


 2/22/2011 3:51:10 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
gata am gasit  :)

in loc de OCCURS() am folosit functia ATCC() si acum merge totul perfect :)

mersi inca o data de sfaturi si de rezolvori ...
 2/22/2011 5:36:22 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Dezactivare in Form
 (N/A)
Felicitari. Ar trebui sa mearga si cu Occurs() dar in fine, bine ca-ti merge.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 2/22/2011 11:30:14 PM
User is offlineJohnnyPK22
31 posts


Re: Dezactivare in Form
 (N/A)
Mersi inca o data pentru sfaturi si ajutorul dat :)
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Dezactivare in ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement