以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 怎么从当前表中获取记录状态为借出,且没有归还的所有借出状态数据行呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173727) |
-- 作者:cnsjroom -- 发布时间:2021/12/13 17:47:00 -- 怎么从当前表中获取记录状态为借出,且没有归还的所有借出状态数据行呢? 怎么从当前表中获取记录状态为借出,且没有归还的所有借出状态数据行呢? 当前表为 当前代码如下: Dim kh As WinForm.TextBox = Forms("一键归还").Controls("TextBox1") kh.Select() Tables("一键归还_table1").Filter="记录状态=\'借出\' And 卡号=\'" & kh.text & "\'" Dim Products As List(Of String) Products = DataTables("设备信息").SQLGetValues("uuid","设备状态=\'借出\'") For Each Product As String In Products Dim br As Table=Tables("使用记录") Dim dr As DataRow = DataTables("使用记录").Find("设备uuid=\'" & Product & "\' and 卡号=\'" & kh.text & "\' And _Identify <> " & br.Current("_identify"), "_Identify desc") If dr IsNot Nothing And dr("记录状态") = "借出" Then br.AddNew br.Current("卡号")= kh.text br.Current("设备uuid")= Product br.Current("记录时间")=Date.now br.Current("记录状态")="归还" br.Current("设备状态")="库存" End If Next 代码怎么修正为直接从当前表【使用记录】中获取卡号等于kh.text值 设备uuid=Product 且记录状态为“借出”,又没有归还数据行的数据,然后将整个记录状态为“借出”数据行全部显示出来,并且全部新增使用记录数据为 记录状态为归还。
[此贴子已经被作者于2021/12/13 17:47:32编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/12/13 20:14:00 -- 建议把“记录状态”改为2个逻辑列,一个“借出”,一个“归还”,新增行默认勾选借出,归还的时候勾选归还。或者更简单一点,“记录状态”改为逻辑列,借的时候为空,还的时候勾选。 记录时间改为2个列,一个借出时间,一个归还时间,一借一还一行数据即可,既方便查询,又方便统计
|
-- 作者:cnsjroom -- 发布时间:2021/12/13 21:58:00 -- 回复:(有点蓝)建议把“记录状态”改为2个逻辑列,一... 主要是想实现点一次就是借出 再点一次就是归还 系统自动第一次是借出 然后第二次就是归还 第三次就是借出 第四次就是归还 依次类推 且从一个用户卡号和设备uuid只会同一时间只有一个借出或归还 当一个卡号有多个设备uuid处于借出的时候 实现一次性将该用户卡号下所有处于借出的设备uuid的数据 全部新增对应条数的归还记录 一楼的代码 老师有没有办法帮忙修正下呢?
|
-- 作者:有点蓝 -- 发布时间:2021/12/13 22:07:00 -- 表设计不合理,我也没有办法修正。增加一个辅助列,已经归还的,在借出行勾选。下次查询的时候就只查询没有勾选的借出行 |
-- 作者:cnsjroom -- 发布时间:2021/12/13 23:18:00 -- 回复:(有点蓝)表设计不合理,我也没有办法修正。增... 有两张表 设备信息 表中有uuid 设备状态(库存或借出) 设备名称 三列 使用信息 表中有设备uuid 设备名称 记录状态 记录时间 卡号 listview采用大图标显示设备信息表中所有数据 点击图标后弹出使用登记菜单 获取listview当前行uuid 打开使用登记窗口 在登记窗口中 输入卡号 并将当前行uuid作为设备uuid进行数据查找 并进行判断 第一次时 记录状态为借出 第二次时为归还 第三次时为借出 第四次就是归还(判断有无借出 没有就为借出 有借出就为归还)如果为借出时 对应修改设备信息表中设备状态为借出 为归还是对应修改设备信息中设备状态为库存 一楼的代码就是根据这个思路来的 但是总会新增多一行数据 还得麻烦老师们多多指导下 谢谢 |
-- 作者:cd_tdh -- 发布时间:2021/12/14 1:10:00 -- 两个表都有id,同一设备用相同的ID,id建议采用固定格式的不重复编号来处理,设备表中初始状态为:在档,记录表中借出后,设备表中找到相同id,把状态修改为借出,归还后一样通过id在设备表中更新状态为:在档。我目前证件管理是这样处理的,以后查看某一设备的记录,就筛选这一设备,所有记录也都出来了 [此贴子已经被作者于2021/12/14 1:12:52编辑过]
|
-- 作者:cnsjroom -- 发布时间:2021/12/14 8:41:00 -- 回复:(cd_tdh)两个表都有id,同一设备用相同的ID,... 目前思路大致和你的思路是一样的 且已经实现了单个设备的借出与归还 现在想实现同一个卡号也就是同一个用户,有多次借出的时候,然后对所有借出或者选择几个借出进行批量归还操作,老师有没有解决办法呢? 一楼的代码我遍历当前设备信息表中所有设备状态等于借出的uuid 然后根据输入的用户卡号 去查找使用记录表中 对应设备uuid=uuid的 且记录状态等于借出的数据 将它们所有的数据显示出来 然后进行归还操作 但是当前会多一条记录,需要修正一楼代码……
|
-- 作者:有点蓝 -- 发布时间:2021/12/14 8:51:00 -- 不要一根筋好不好。添加一个辅助列就能解决的问题,不然就得遍历所有借出行一行行判断 |
-- 作者:cd_tdh -- 发布时间:2021/12/14 9:28:00 -- 用Select集合在循环吧,应该快点 |