Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]还是变量的问题,请高手指点。

chinasa  发表于:2014-09-15 08:54:47  
复制

我需要通过身份证号“123”找到ZS对应的是22,“ZS”作为变量出现,即:ZS=22。

我目前的方法是:读一条表1的记录,再到表2循环去找身份证号,找到对应的记录后,再判断表2中前两个字符如果为字符“ZS”,则对变量ZS赋值年龄。这个方法感觉太啰嗦,不知道是否有效率更高点的方法?

 

说明:下面的表1与表2都不是数据库中的表,我用的是VB6.0,没建立数据库,所以没有表。表1:是通过循环得到的数据(实际上是枚举父窗口下的子窗口句柄)。表2:是一个文本文件(实际上是保存了我需要的子窗口的特定属性)。

 

如果有擅长句柄API方面的高手,请直接指点:把子窗口的特性保存在文本中,通过枚举父窗口下的子窗口来获取子窗口的句柄。(因为子窗口经常会变,每次更改程序太麻烦,所以想把其特性保存在文本中)

 

表1:

姓名 年龄 身份证号
张三 22 123
李四 13 321
王二 15 456
麻五 24 654

 

表2:

ZS 123
MW 654
LS 321

 

 

Top
竹笛 发表于:2014-09-15 12:48:11
年龄可以根据身份证直接得出,为什么你还要去赋值呢?

chinasa 发表于:2014-09-15 16:02:56
竹版,我这里的年龄是虚构的。实际上它是子窗口的句柄,为了方便理解我才把它说成年龄。

chinasa 发表于:2014-09-15 16:04:15
可以把年龄变更为兴趣爱好。

chinasa 发表于:2014-09-15 17:16:46

�������ش˸���

 

为了便于理解,我做了个样例,具体要做的内容在模块中。

 

如果逐个循环比较我能做到,关键是如何能语句简单、运行效率要高。



煮江品茶 发表于:2014-09-16 14:56:38
很简单嘛,如果两表字段间的数据有规律,则将其中一个表通过查询增加一个折算字段为另一表的对应字段的对应值,然后连接后一表与查询联接生成查询即可;如果两表字段间数据无规律可循,则建立一个对照表,将两个表相关字段的对应关系写入该表中,然后三个表联接查询即可。

chinasa 发表于:2014-09-17 12:15:18
煮版您好,您的方法在数据库中比较好实现,问题是我现在是用VB6.0写的代码,由于任务比较简单所以没有建立数据库,如果为此再建立个数据库或外部文件,则感觉有点麻烦。

chinasa 发表于:2014-09-17 12:18:26

关键是否能实现下面的功能:

有一个字符串如下:

ABC 123456

DEF 234567

EFG 987654

能否有办法转换成(前三个字母是变量名):

ABC= 123456

DEF= 234567

EFG =987654

 

不过这是不可能的,那我就死心了,老老实实的逐个判断。

 



煮江品茶 发表于:2014-09-18 15:55:46

鬼打架。

建立一个对照数组不是一个道理嘛。

两个数组之间不好比对,就增加一个数组来过渡一下而已。



chinasa 发表于:2014-09-18 17:06:55
还不太明白,我先慢慢理解品味下先,感谢指点。

朱先生 发表于:2014-09-19 21:56:17
有这么多人的回复,难道就没有一个人的回复有用吗?楼主应该表个态吧!!!!!!!!!!!!!!!!!

chinasa 发表于:2014-09-20 17:15:40

楼上的兄弟,不知道我哪个回复没有回复?

问题目前还未解决,煮版的答复我还没吃透,所以暂时不知道是否可行。

如果知道解决方法的还望能继续给予指点,最好能具体点便于理解,谢谢。



总记录:11篇  页次:1/1 9 1 :