佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: maybird_2

Visual FoxPro 的疑难杂症

[复制链接]
发表于 11-8-2004 11:49 AM | 显示全部楼层
如果是 Character(2) ,把少于10的前面加空格,

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
复制代码


尽可能不要用 sort,一来慢,二来锁死。用 index 指令就行了。

[ Last edited by 白日梦 on 11-8-2004 at 11:53 AM ]
回复

使用道具 举报


ADVERTISEMENT

发表于 11-8-2004 01:39 PM | 显示全部楼层
應該也可以index on val(field)
回复

使用道具 举报

发表于 11-8-2004 10:39 PM | 显示全部楼层
fxam 于 11-8-2004 01:39 PM  说 :
應該也可以index on val(field)


这个是个好方法!!!!
回复

使用道具 举报

发表于 12-8-2004 03:45 AM | 显示全部楼层
fxam 于 11-8-2004 01:39 PM  说 :
應該也可以index on val(field)

1.请问它的 COMMAND 应该怎样写及写在哪里?
2.请问 TAG 有什么功用,要如何 SETTING?
3.请问 Table 创造在 *.dbc 和 Free Table 的分别?
回复

使用道具 举报

发表于 12-8-2004 12:15 PM | 显示全部楼层
在 FORM A 是 GRID Box,当我按 ADD 时 GRID 就会增加一行同时会出现 FORM B 让我输入 DATA。要是我把 FORM B CANCEL,在 FORM A 的 GRID 刚增加的那一行就回消失。
请问这样应该如何写?

[ Last edited by tstan135 on 12-8-2004 at 05:52 PM ]
回复

使用道具 举报

发表于 13-8-2004 09:37 AM | 显示全部楼层
tstan135 于 12-8-2004 03:45 AM  说 :

1.请问它的 COMMAND 应该怎样写及写在哪里?
2.请问 TAG 有什么功用,要如何 SETTING?
3.请问 Table 创造在 *.dbc 和 Free Table 的分别?


1.VFP 很多指令是不需要写,去 modify database,翻去第二页 indexes 如下图:

注:一星期后此图自动消失。

2.如上图所示:

3.参考以下帖子回应:
http://chinese.cari.com.my/myfor ... =141248&fpage=8
回复

使用道具 举报

Follow Us
发表于 13-8-2004 09:56 AM | 显示全部楼层
tstan135 于 12-8-2004 12:15 PM  说 :
在 FORM A 是 GRID Box,当我按 ADD 时 GRID 就会增加一行同时会出现 FORM B 让我输入 DATA。要是我把 FORM B CANCEL,在 FORM A 的 GRID 刚增加的那一行就回消失。
请问这样应该如何写?


1.在 Form 菜单,选 Create Formset,再次 Form 菜单,选 Add New Form

2.在 Form2.Init 里编程
Thisform.Hide   && 隐藏表格

3.加 CommandButton 控件 cmdExit,在 .Click event 里编程
Thisformset.Release

4.加 cmdAdd,在 .Click 编程
Append Blank
Thisform.Grid1.Refresh
Thisformset.Form2.Show   && 显示表格

5.加入相关资料栏(field)的文字箱(textbox)输入

6.加 cmdOK 于 Form2,在 .Click 里编程
Thisformset.Form1.Refresh
Thisform.Hide

7.加 cmdCancel,在 .Click 里编程
Delete
Thisformset.Form1.Refresh
Thisform.Hide
回复

使用道具 举报

发表于 13-8-2004 11:22 AM | 显示全部楼层
有几疑问?
白日梦 于 13-8-2004 09:56 AM  说 :
7.加 cmdCancel,在 .Click 里编程
Delete
Thisformset.Form1.Refresh
Thisform.Hide

1。要是我要进去修改先前的记录,而然后 CANCEL 出来,这先前的记录不就会被删除?
2。有没有方法不用 DELETE 也可以使曾加的那一行消失?
3。加入 FORM SET 后,为什么当我 EXIT 出来后要去 MODIFY FORM 时,总是说“FILE IS IN USE”?
回复

使用道具 举报


ADVERTISEMENT

发表于 13-8-2004 11:32 AM | 显示全部楼层
1.在第4步骤里增加的新纪录会删除掉。

2.。。。不知有没有。

3.你没有按第3步骤的按钮出,如你右上的按钮出时,
只是Form1关闭,Form2还开着,你按Windows菜单就显示着开着的Form
回复

使用道具 举报

发表于 13-8-2004 11:37 AM | 显示全部楼层
2. SET FILTER TO NOT EMPTY( <FIELD1> )
改成适合你程序的。
回复

使用道具 举报

发表于 13-8-2004 06:00 PM | 显示全部楼层
1。好象用 INSERT INTO 会比较好,因为我的 INDEX 是 PRIMARY,要是用 APPEND BLANK 好象有问题。
2。请问 FOXPRO 可不可以像 VB 那样在 FORM 里加上 MENU BAR? 如果可以应该怎样做?
回复

使用道具 举报

发表于 14-8-2004 10:14 AM | 显示全部楼层
1. 有更好的就用
   Insert into ( <field1>, <fields2>, ... ) values ( <value1>, <value2>, ... )
   就等于
   Append Blank
   Replace <field1> With <value1>, <field2> With <value2>, ...
   优化程序,软件执行速度更快。

2. 可以,
现创造新的菜单 menu1,
用 menu 菜单 generate...,
创造新的表格 form1,
在 form1.init 编码放入以下,
DO MENU1.MPR WITH THIS,.T.
回复

使用道具 举报

发表于 14-8-2004 12:40 PM | 显示全部楼层
又有个问题:要是我进去修改之前的 DATA,但是 CANCEL 出来,DATA 还是会被修改。请问有什么方法可以 CANCEL 出来后,DATA 还是跟未修改的一样?
回复

使用道具 举报

发表于 15-8-2004 08:47 AM | 显示全部楼层
白日梦 于 14-8-2004 10:14 AM  说 :
2. 可以,
现创造新的菜单 menu1,
用 menu 菜单 generate...,
创造新的表格 form1,
在 form1.init 编码放入以下,
DO MENU1.MPR WITH THIS,.T.


为何当我 RUN FORM1 时,总是 ERROR?
SET SYSMENU TO default
ERROR: 1238
NO PARAMETER statement is found.
Method:
Line: 26
回复

使用道具 举报

发表于 15-8-2004 10:35 PM | 显示全部楼层
tstan135 于 13-8-2004 11:22 AM  说 :
有几疑问?

1。要是我要进去修改先前的记录,而然后 CANCEL 出来,这先前的记录不就会被删除?
2。有没有方法不用 DELETE 也可以使曾加的那一行消失?
3。加入 FORM SET 后,为什么当我 EXIT 出来后要去 MOD ...


回复第二提,
你可以在CLICK ADD的时候不要先做 APPEND BLANK.可以先给全部FIELD一个变数,当你按SAVE的是侯就做这几个动作;
IF xADD
   APPEND BLANK
ENDIF
REPLACE CODE WITH xCODE,;
        NAME WITH xNAME
补充:
在ADD.CLICK()里记得要加
xADD = .T.
EDIT.CLICK()加
xADD = .F.
这样在SAVE的动作里就可以知道它是ADD或EDIT

[ Last edited by itgenius on 15-8-2004 at 10:37 PM ]
回复

使用道具 举报

发表于 15-8-2004 11:34 PM | 显示全部楼层
小弟最近真的是于到一个 "疑难杂症"
小弟在数据库中输入中文资料, 过后发现不论是在用index或用SQL select 的 ORDER 来排列中文资料时, 资料的显示都是用汉语拼音来排列的, 比如 :

阿干正传
病毒
读书会
法律问题
寒风萧萧
.
.
.
.

可是小弟必须用文字的笔画来排列, 那个字的笔画比较少就先显示出来
我尝试用过 set collate to "stroke" , 然后reindex, 可是毫无效果

不知道有任何解决方案 ?
回复

使用道具 举报


ADVERTISEMENT

发表于 16-8-2004 09:44 AM | 显示全部楼层
weisely 于 15-8-2004 11:34 PM  说 :
小弟最近真的是于到一个 "疑难杂症"
小弟在数据库中输入中文资料, 过后发现不论是在用index或用SQL select 的 ORDER 来排列中文资料时, 资料的显示都是用汉语拼音来排列的, 比如 :

阿干正传
病毒
...

加 stroke 的资料栏,列出所有中文的有多少笔划,
阿  8
病 10

index on stroke ...
回复

使用道具 举报

发表于 16-8-2004 09:49 AM | 显示全部楼层
tstan135 于 15-8-2004 08:47 AM  说 :
为何当我 RUN FORM1 时,总是 ERROR?
SET SYSMENU TO default
ERROR: 1238
NO PARAMETER statement is found.
Method:
Line: 26

我试过不会酱的。

Error 1238 : After doing a program with a parameter list, the called program must begin with a PARAMETER statement.

你试下 debug。

[ Last edited by 白日梦 on 16-8-2004 at 09:53 AM ]
回复

使用道具 举报

小李波特 该用户已被删除
发表于 16-8-2004 10:03 AM | 显示全部楼层
在 multi user 的环境下,你们是如何让系统自动 pack 掉已被删除的资料 ???
回复

使用道具 举报

发表于 16-8-2004 02:03 PM | 显示全部楼层
小李波特 于 16-8-2004 10:03 AM  说 :
在 multi user 的环境下,你们是如何让系统自动 pack 掉已被删除的资料 ???

没做过自动的,做了reindex的module。
使用者需要时才做,整年不做也没所谓,不管它。

你要做自动的,先做 date trigger,比如当你启动这系统时每个星期一自动打包已删除的资料。

[ Last edited by 白日梦 on 16-8-2004 at 02:23 PM ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 28-4-2024 08:30 AM , Processed in 0.064643 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表