.


:




:

































 

 

 

 


 

 

: ..

: 03-217

: ..

 

 

, 2011.


 

.. 3

. 3

.. 3

. 4

. 4

. 5

. 8

. 8

.. 8

.. 12

 

 


:

FOXPRO .

 

: , . , .

 

, , .

, , , , (). ( ) , , .

--, . - .

 

:

cod FAM NAM otch Street dom flat Telephone
N10 N5 N5 N5 N5 C 8 N4 C 12

       
   
:

 

 


NAM  
cod N5
name C15
FAM  
cod N5
fam C15

Street  
cod N5
val C15
OTCH  
cod N5
val C25

 

 

(. )

:

-FAM

-NAME

-OTCH

-Street

Cascade - - , .

Restrict - - , , .

Ignore - - .

 

, , .

( ). .

( B).

 

1) .

 

: ( ... ), , , .

 

2) (, , ..). , . .

: , , .

 

3) . , .

4) , , . , ( ).

5) . , .

6) () .

 

- Visual FoxPro. , .

 

, Visual FoxPro , , .


 

 

 


1) :

IF!empty(THISFORM.CFam.value)

IF!empty(THISFORM.CNam.value)

IF!empty(THISFORM.COTCH.value)

IF!empty(THISFORM.CSTREET.value)

IF!empty(THISFORM.DOM.value)

IF!empty(THISFORM.FLAT.value)

IF!empty(THISFORM.TELEPHONE.value)

SELECT MAIN

CALCULATE MAX(COD) TO WSP

WSP=WSP+1

DIMENSION PER_ARR(8)

PER_ARR[1]=WSP

PER_ARR[2]=FAM.COD

PER_ARR[3]=NAM.COD

PER_ARR[4]=OTCH.COD

PER_ARR[5]=STREET.COD

PER_ARR[6]=CAST(thisform.DOM.value AS INT)

PER_ARR[7]=CAST(thisform.FLAT.value AS INT)

PER_ARR[8]=thisform.TELEPHONE.value

APPEND FROM ARRAY PER_ARR

messagebox(' !')

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ELSE

messagebox(' !')

endif

thisform.Refresh

 

2) :

SELECT TABLE7

DELETE

SELECT MAIN

DELETE ALL

SET DELETED on

SELECT table7

DIMENSION PER_ARR1(8)

SCAN

PER_ARR1[1]=TABLE7.COD

SELECT FAM

SCAN FOR FAM.FAM=TABLE7.FAM

PER_ARR1[2]=FAM.COD

ENDSCAN

SELECT NAM

SCAN FOR NAM.NAME=TABLE7.NAME

PER_ARR1[3]=NAM.COD

ENDSCAN

SELECT OTCH

SCAN FOR OTCH.VAL=TABLE7.OTCH

PER_ARR1[4]=OTCH.COD

ENDSCAN

SELECT STREET

SCAN FOR STREET.VAL=TABLE7.STREET

PER_ARR1[5]=STREET.COD

ENDSCAN

PER_ARR1[6]=CAST(TABLE7.DOM AS INT)

PER_ARR1[7]=CAST(TABLE7.FLAT AS INT)

PER_ARR1[8]=TABLE7.TELEPHONE

INSERT INTO MAIN FROM ARRAY PER_ARR1

SELECT TABLE7

ENDSCAN

messagebox(' ')

THISFORM.Refresh

 

3) :

SELECT Table7

DELETE ALL

DIMENSION PER_ARR(8)

SELECT MAIN

SCAN

SCATTER TO PER_ARR1

PER_ARR[1]=PER_ARR1[1]

SELECT FAM

SCAN FOR FAM.COD=PER_ARR1[2]

PER_ARR[2]=FAM.FAM

ENDSCAN

SELECT NAM

SCAN FOR NAM.COD=PER_ARR1[3]

PER_ARR[3]=NAM.NAME

ENDSCAN

SELECT OTCH

SCAN FOR OTCH.COD=PER_ARR1[4]

PER_ARR[4]=OTCH.VAL

ENDSCAN

SELECT STREET

SCAN FOR STREET.COD=PER_ARR1[5]

PER_ARR[5]=STREET.VAL

ENDSCAN

PER_ARR[6]=PER_ARR1[6]

PER_ARR[7]=PER_ARR1[7]

PER_ARR[8]=PER_ARR1[8]

INSERT INTO TABLE7 FROM ARRAY PER_ARR

SELECT MAIN

ENDSCAN

SELECT TABLE7

SCAN

I=0

IF (ALLTRIM(TABLE7.FAM)=ALLTRIM(THISFORM.CFam.value)) OR empty(THISFORM.CFam.value)

IF (ALLTRIM(TABLE7.NAME)=ALLTRIM(THISFORM.CNam.value)) OR empty(THISFORM.CNam.value)

IF (ALLTRIM(TABLE7.OTCH)=ALLTRIM(THISFORM.COTCH.value)) OR empty(THISFORM.COTCH.value)

IF (ALLTRIM(TABLE7.STREET)=ALLTRIM(THISFORM.CSTREET.value)) OR empty(THISFORM.CSTREET.value)

IF (ALLTRIM(TABLE7.DOM)=ALLTRIM(THISFORM.DOM.value)) OR empty(THISFORM.DOM.value)

IF (ALLTRIM(TABLE7.FLAT)=ALLTRIM(THISFORM.FLAT.value)) OR empty(THISFORM.FLAT.value)

IF (ALLTRIM(TABLE7.TELEPHONE)=ALLTRIM(THISFORM.TELEPHONE.value)) OR empty(THISFORM.TELEPHONE.value)

I=1

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

IF I=0

DELETE

ENDIF

SELECT TABLE7

ENDSCAN

SET DELETED ON

THISFORM.Refresh

 

4) :

select main

report form report1.frx noeject noconsole to printer preview

5) :

SET DELETED on

SELECT main

cou=RECCOUNT()

DIMENSION k(cou,8)

cou=0

SELECT TABLE7

SCAN

cou=cou+1

i=0

k[cou,1]=CAST(table7.cod as int)

SELECT FAM

SCAN

IF FAM.FAM=ALLTRIM(TABLE7.FAM)

k[cou,2]=fam.cod

i=1

ENDIF

ENDSCAN

 

IF I=1

SELECT NAM

SCAN

IF NAM.NAME=ALLTRIM(TABLE7.NAME)

k[cou,3]=nam.cod

i=2

ENDIF

ENDSCAN

 

IF I=2

SELECT OTCH

SCAN

IF OTCH.VAL=ALLTRIM(TABLE7.OTCH)

k[cou,4]=otch.cod

I=3

ENDIF

ENDSCAN

 

IF I=3

SELECT STREET

SCAN

IF STREET.VAL=ALLTRIM(TABLE7.STREET)

k[cou,5]=street.cod

k[cou,6]=CAST(table7.dom as int)

k[cou,7]=CAST(table7.flat as int)

k[cou,8]=table7.telephone

I=4

ENDIF

ENDSCAN

 

ENDIF

ENDIF

ENDIF

 

IF i<>4

MESSAGEBOX(' '+table7.cod)

i=5

EXIT

ENDIF

SELECT table7

ENDSCAN

 

IF i<>5

SELECT main

FOR coul=1 TO cou

UPDATE main SET main.fam=k[coul,2],main.name=k[coul,3],main.otch=k[coul,4],main.street=k[coul,5],main.dom=k[coul,6],main.flat=k[coul,7],main.telephone=k[coul,8] WHERE main.cod=k[coul,1]

ENDFOR

MESSAGEBOX(' ')

ENDIF

 

 

SET DELETED ON

thisform.Load

thisform.Refresh

6) ( , ):

SELECT fam

SET DELETED OFF

CALCULATE MAX(COD) TO PER_MAX

PER_MAX=PER_MAX+1

DIMENSION PER_ARR(2)

PER_ARR[1]=PER_MAX

PER_ARR[2]=' '

INSERT INTO FAM FROM ARRAY PER_ARR(2)

SET DELETED ON

THISFORM.Refresh

 



<== | ==>
. . | .
:


: 2017-01-28; !; : 267 |


:

:

, .
==> ...

1589 - | 1382 -


© 2015-2024 lektsii.org - -

: 0.055 .