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  Form-uri si generatoare de form-uri  Text box cu Con...
 Text box cu ControlSource
 
 3/31/2010 4:57:49 PM
User is offlineLordVlad
53 posts


Text box cu ControlSource
 (N/A)
Salutare,

Am un text box "nume" cu proprietatea "ControlSoruce" = clienti.nume

Ceea ce doresc sa fac este un search: Valoarea textbox-ului "nume" sa contina numele clientului corespunzator ID-ului care il introduc in alt textbox "txtID".

Am incercat ca in cadrul unui buton de Search sa scriu ceva de genu:
use clienti
go top
LOCATE FOR clienti.id_client == val(thispf.id_client.Value)
thisform.Refresh

sau

SELECT * FROM clienti WHERE clienti.id_client = VAL(thisform.txtID.Value) INTO CURSOR id

Dar nu am obtinut rezultatul dorit.
Cum pot proceda pentru a obtine ce imi doresc?

Va multumesc!
Cu stima,
Vlad
 3/31/2010 5:08:20 PM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Text box cu ControlSource
 (N/A)
Am inteles ca ai doua textboxuri

1. thisform.nume, cu ControlSource = "CLIENTIi.NUME"
2. thisform.txtID

Incearca varianta asta:

SELECT "CLIENTI"
LOCATE FOR ID_CLIENT = Int(Val(thisform.txtID.value))
IF Found()
thisform.Refresh()
thisform.Nume.SetFocus()
ELSE
= MessageBox('ID-ul nu este ...... ', 64, _SCREEN.Caption)
thisform.txtID.SetFocus()
ENDIF
 3/31/2010 5:36:03 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Perfect! Acum ca am gasit clientul care vreau, doresc sa-l sterg. Intr-un alt buton am bagat urmatorul cod:

USE clienti
DELETE FOR id_client = INT(VAL(thisform.id_client.Value))
PACK
MESSAGE('Clientul a fost sters!')
thisform.refresh

Dar imi da eroare: Function argument value, type, or count is invalid (Error 11)
 3/31/2010 9:34:24 PM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Text box cu ControlSource
 (N/A)
Am inteles ca ai doua textboxuri

1. thisform.nume, cu ControlSource = "CLIENTIi.NUME"
2. thisform.txtID

De unde a aparut thisform.id_client.value?

Incearca asa:

SELECT "CLIENTI"
IF Set("DELETED") == "OFF"
SET DELETED ON
ENDIF
DELETE FOR id_client = INT(VAL(thisform.txtID.Value))
thisform.Refersh()
= MessageBox(.....)
 4/1/2010 7:26:43 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Am o problema. Campurile cu controlSource sunt intr-un PageFrame iar in momentul rularii aplicatiei, imi da o eroare cum ca tabela (alias-ul) "CLIENTI" nu a putut fi gasit. Nu inteleg de ce deoarce tabela este unde trebuie. Daca dau Ignore la eroare si selectez tabela clienti, totul e ok, dar totusi vreau sa scap de eroarea respectiva.

De test am pus in form, in cadrul Load-ului, un SELECT clienti, si imi da aceiasi eroare. Nu reusesc sa imi dau seama unde e problema, ma puteti ajuta?

Va multumesc!
Cu stima,
Vlad
 4/1/2010 8:02:09 PM
User is offlinegldesign
400 posts
2nd


Re: Text box cu ControlSource
 (N/A)
Ce inseamna ca e pusa unde trebuie?
Unde o deschizi? Eu cred ca nu o deschizi nicaieri din moment ce dupa ce selectezi tabela totul functioneaza
Poti s-o faci in 2 locuri
In data enviromentul formului
sau in load-ul formului pui use clienti in 0
 4/2/2010 2:15:52 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Referitor la codul pt stergere, imi da o eroare "Function argument value or count is invalid" la linia cu sintaxa de stergere.

USE-ul a rezolvat problema de mai sus.

Va multumesc!
Cu stima,
Vlad
 4/7/2010 1:02:53 PM
User is offlineaflorin
840 posts
1st


Re: Text box cu ControlSource
 (N/A)
Daca linia asta
DELETE FOR id_client = INT(VAL(thisform.id_client.Value))
iti da eroare, explicatia e una singura:
functia VAL() nu primeste ce trebuie sa primeasca. verifica ce ai in thisform.id_client.Value

Florin Aparaschivei - Iasi
 4/7/2010 3:26:43 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Gata, am rezolvat-o si pe asta. Multumesc!

Acu sunt in situatia urmatoare. Am un textbox cu ControlSource = "clienti.nume". Daca modific in textbox valoarea ce apare, se modifica automat si in baza de date, ceea ce nu doresc. Doresc ca modificarea facuta sa se aplice doar in momentul in care apas eu un buton pt salvare. Cum fac sa ignor modificarile ce se fac in cadrul textbox-ului si sa le salvez doar prin intermediul unui buton?

Va multumesc!
Cu stima,
Vlad
 4/7/2010 4:04:34 PM
User is offlineaflorin
840 posts
1st


Re: Text box cu ControlSource
 (N/A)
Ai mai multe solutii:
- daca lucrezi cu baze de date (dbc-uri, si nu free tables) poti folosi tranzactii: uita-te la Begin Transaction, Commit, Rollback si TxnLevel()
- lucrezi cu variabile: cind incarci formul, iei valorile din tabela si le pui in variabile, textbox-urile au ca si controlsource aceste variabile, iar la salvare iei din variabile si pui in tabele
- folosesti buffering: uita-te la TableUpdate() si TableRevert()

Florin Aparaschivei - Iasi
 4/7/2010 4:45:04 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Din comenzile enumerate nu am preea inteles care face salvarea propriuzisa si in ce coditii iar pentru form destroy ar trebuii sa am rollback dar nici aici nu imi dau seama in ce conditii. Ma puteti ajuta cu mai multe explicatii?
 4/7/2010 5:29:29 PM
User is offlineaflorin
840 posts
1st


Re: Text box cu ControlSource
 (N/A)
Pai in primul rind ar fi trebuit sa te hotarasti la una dintre solutii. Eu spre exemplu am folosit mult timp varianta cu variabile.
Spre ex, daca am o tabela Employee si vreau sa fac modificare
am un program prgEmployee.prg unde fac:
SELECT Employee
iCNP = CNP
iNume = Nume
iAdresa = Adresa
iDataNast = DataNast
// ect
DO FORM frmEmployeeModific

in form toate textboxurile sunt legate la variabile (cele cu i fata numelui)
butonul de Inchide nu face nimic
pe butonul de Salvez pun
SELECT Employee
REPLACE CNP WITH iCNP, Nume WITH iNume, Adresa WITH iAdresa
thisform.Release()

evident, mai ai nevoie si de validari. De asemenea trebuie spus ca varianta de mai sus (cu REPLACE simplu) functioneaza doar daca ESTI SIGUR ca nu schimbi inregistrarea curenta din tabela Employee

Florin Aparaschivei - Iasi
 4/7/2010 5:34:57 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Da, imi cer scuze, am omis sa specific ca folosesc o baza de date deci m-ar interesa cum se procedeaza cu tranzactiile.

Va multumesc pentru ajutor!
 4/7/2010 5:42:55 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Text box cu ControlSource
 (N/A)
Gasesti aici explicatii destul de amanuntite
http://msdn.microsoft.com/en-us/library/aa975658%28v=VS.71%29.aspx

Vezi Programming for Shared Acceess, Controlling Access to data, Buffering Data. Updating Data.

Daniel Buduru
 4/7/2010 8:37:09 PM
User is offlineLordVlad
53 posts


Re: Text box cu ControlSource
 (N/A)
Gata, am reusit si asta.

Acum inca o problema cu ControlSource:
- textbox-ul are ca si controlSource "imobile.adresa"
- Am butoane de next si prev pentru schimbarea continutului textboxului de mai sus (butoanele contin go recno()+1 sau recno()-1)

Ceea ce doresc este sa adaug o conditie, sa imi afiseze in textbox doar adresele al caror camp "localitate" este valoarea dintr-un combo.
Ceea ce am incercat sa fac a fost un select cu conditie in speranta ca va influenta si valorile care le va lua ControlSource-ul ... dar binenteles nu prea mi-a iesit.

Va multumesc pentru ajutor!
Cu stima,
Vlad
 4/8/2010 11:04:28 AM
User is offlineaflorin
840 posts
1st


Re: Text box cu ControlSource
 (N/A)
1. In loc de go recno() +- 1 poti folosi ceva de genul:
IF NOT EOF()
SKIP
ENDIF

respectiv
IF NOT BOF()
SKIP -1
ENDIF

2. Ceea ce ai tu nevoie este la comanda LOCATE

Florin Aparaschivei - Iasi
  Visual FoxPro  Form-uri si generatoare de form-uri  Text box cu Con...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement