精易论坛

标题: 关于一个accessxx库复杂cha询功能实现的求助 [打印本页]

作者: sosoby    时间: 2019-12-15 09:10
标题: 关于一个accessxx库复杂cha询功能实现的求助
各位早上好:我想做一个cha询accessxx库的小工具,和上次不同,这次复杂了好多,描述如下。材料已经存在的温度25、100、150、200等等。我现在输入一个随意温度,比如输入110,经过判断,得出110位于100和150之间。之后依据材料查出100的值和150的值,最后将查出来的两个值通过某些运算最终获得一个想要的值。用户cha询界面上只有温度输入框、材料输入框,和一个最终显示框就够了,希望各位不吝赐教,谢谢了(手机发帖好难啊,稍后我会传一张图片来更好描述此问题)

作者: yunying    时间: 2019-12-15 09:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: sosoby    时间: 2019-12-15 09:17
图片已经上传

image.png (23.58 KB, 下载次数: 0)

image.png

image.png (13.54 KB, 下载次数: 1)

image.png

作者: smxmcylw    时间: 2019-12-15 09:27
看你上传的图片,你觉得这样的xx库设计合理吗?
作者: Catch腾大仙    时间: 2019-12-15 09:52
smxmcylw 发表于 2019-12-15 09:27
看你上传的图片,你觉得这样的xx库设计合理吗?

我说我杀人不眨眼 你问我眼睛干不干
作者: Catch腾大仙    时间: 2019-12-15 09:53
谁教给你这个使用xx库的
作者: 寒潮    时间: 2019-12-15 09:59
楼上的光关注xx库设计,没主意到楼主CAD应该用的很好吗?
楼主你这个实现起来其实很简单,就是最基本的xx库操作,论坛上随便找一个xx库例程都是有这些操作的。
就是你的这xx库设计的,确实有点那个啥!
作者: sosoby    时间: 2019-12-15 10:00
Catch腾大仙 发表于 2019-12-15 09:53
谁教给你这个使用xx库的

这个其实内容好多的,后续我会在access里补全所有xx。算起来大约1961条吧……
作者: Catch腾大仙    时间: 2019-12-15 10:07
1.通过编辑框到整数获取到50的整倍数,也就是你的温度值的上一个数和下一个数
2.cha询,通过 select cha询语句 where后面跟上限制条件,从材料和温度去限制
3.根据你的公式去计算
作者: smxmcylw    时间: 2019-12-15 10:08
哎哟喂,我的哥,难道我说错了吗?xx库的设计,直接影响到他cha询的操作。
作者: sosoby    时间: 2019-12-15 10:11
寒潮 发表于 2019-12-15 09:59
楼上的光关注xx库设计,没主意到楼主CAD应该用的很好吗?
楼主你这个实现起来其实很简单,就是最基本的xx ...

寒潮大佬你好。其实说是xx库设计,还不如说是直接把xx扔到了access里。我其实不是这个专业的,只是工作需要,excel又不是很方便,所以才自己动手做个小软件,估计从我前面问的问题看,各位不难看出我是什么都不会。还好有论坛,能下到各式各样的源码,虽然功能不一定符合自己,但是照葫芦画瓢还是稍微会一点的(怎么也是b站看到零基础易语言系列视频的人,偷笑)目前除了这个功能,其他功能在坛友和其它热心人士帮助下,历时两个多月,已经基本完成了,虽然是站在巨人的肩膀上,但也还是觉得挺自豪,虽然在各位业内人士看来可能很低端,但是能方便自己的工作对我来说也是非常高大上的存在了。
作者: 寒潮    时间: 2019-12-15 10:13
sosoby 发表于 2019-12-15 10:11
寒潮大佬你好。其实说是xx库设计,还不如说是直接把xx扔到了access里。我其实不是这个专业的,只是工作需 ...



作者: sosoby    时间: 2019-12-15 10:14
smxmcylw 发表于 2019-12-15 10:08
哎哟喂,我的哥,难道我说错了吗?xx库的设计,直接影响到他cha询的操作。

老铁你是说温度那个间隔不是固定的么?其实我也没办法:因为这些个xx是从资料上cha询过来的,资料上就这个吊样……额
作者: sosoby    时间: 2019-12-15 10:19
sosoby 发表于 2019-12-15 10:14
老铁你是说温度那个间隔不是固定的么?其实我也没办法:因为这些个xx是从资料上cha询过来的,资料上就这 ...

哎?对了,我可以把温度换算成间隔相同的值放在access里,让他们都是50的倍数,这样应该就好cha询了吧!
作者: sosoby    时间: 2019-12-15 10:26
他们有说定义一个数组,用for语句循环判断数字位于哪个区间,这个好像不是易语言的吧?
作者: 走一回    时间: 2019-12-15 14:17
你确定这样cha询出来的一定是两个值而不是更多个值吗?

补充内容 (2019-12-15 14:22):
没有理解你的思路和计算公式
作者: sosoby    时间: 2019-12-16 11:33
走一回 发表于 2019-12-15 14:17
你确定这样cha询出来的一定是两个值而不是更多个值吗?

补充内容 (2019-12-15 14:22):

查出来的是两个值,后面会经过计算,变成一个值的
作者: sosoby    时间: 2019-12-18 21:19
各位我来结帖了:我已经在没有更改数据库结构的基础上,成功做出了这个查询。我把我的代码贴一下吧,在这里感谢@寒潮 对我的指导,感谢。
  
子程序名返回值类型公开备 注
_组合框1_列表项被选择  
变量名类 型静态数组备 注
局_SQL语句文本型 
局_查询结果_前文本型 
局_查询结果_后文本型 
局_材料文本型 
局_级别_数组整数型0
局_判断数字整数型 
局_取出_数组整数型0
局_计次整数型 
a整数型 
b整数型 
前一个温度整数型 
后一个温度整数型 
’判断输入的温度在哪两个数值之间,感谢寒潮大佬指导
局_级别_数组 = { -200, -125, -75, 25, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850 }
局_判断数字 = 到数值 (编辑框4.内容)
重定义数组 (局_取出_数组, 假, 0)
计次循环首 (取数组成员数 (局_级别_数组), 局_计次)
如果真 (局_计次 + 1 ≤ 取数组成员数 (局_级别_数组))
如果真 (局_级别_数组 [局_计次] ≤ 局_判断数字 局_级别_数组 [局_计次 + 1] ≥ 局_判断数字)
加入成员 (局_取出_数组, 局_级别_数组 [局_计次])
a = 局_级别_数组 [局_计次]
加入成员 (局_取出_数组, 局_级别_数组 [局_计次 + 1])
b = 局_级别_数组 [局_计次 + 1]


计次循环尾 ()
调试输出 (局_取出_数组)
调试输出 (a)
调试输出 (b)
前一个温度 = a  ' 这里已经取出输入温度在数据库里前一个温度的值
后一个温度 = b  ' 这里已经取出输入温度在数据库里后一个温度的值
局_材料 = 组合框1.取项目文本 (组合框1.现行选中项)
局_SQL语句 = “SELECT [”到文本 (前一个温度)“℃] ”“FROM 弹性模量 ”“WHERE 材料 like ”#引号 + 局_材料 + #引号’sql语句:select [温度] FROM 弹性模量 like 材料
调试输出 (局_SQL语句)
记录集1.打开 (局_SQL语句, #SQL语句, )
记录集1.到首记录 ()
记录集1.读文本 (0, 局_查询结果_前)
局_材料 = 组合框3.取项目文本 (组合框3.现行选中项)
局_SQL语句 = “SELECT [”到文本 (后一个温度)“℃] ”“FROM 弹性模量 ”“WHERE 材料 like ”#引号 + 局_材料 + #引号
调试输出 (局_SQL语句)
记录集1.打开 (局_SQL语句, #SQL语句, )
记录集1.到首记录 ()
记录集1.读文本 (0, 局_查询结果_后)
编辑框5.内容 = 到文本 (到数值 (局_查询结果_前)�� (到数值 (局_查询结果_前)到数值 (局_查询结果_后)) ÷ (b - a) (到数值 (编辑框4.内容) - a))‘这里是查询前一个温度和后一个温度之后,经过计算得到的最终想要的值


i支持库列表   支持库注释   
spec特殊功能支持库
eDB数据库操作支持库



补充内容 (2019-12-18 21:29):
局_SQL语句 = “SELECT [” + 到文本 (前一个温度) + “℃] ” + “FROM 弹性模量 ” + “WHERE 材料 like ” + #引号 + 局_材料 + #引号
这一行应该是这样,后面注释的引号标错了
作者: sosoby    时间: 2019-12-18 21:24
额  我发了个回帖,好像需要审核。。。什么鬼。。我把我做好的cha询代码贴上来了,结果要审核,也不知道什么时候能审核通过。。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4