我遇到了解决以下问题的问题:
我有预订表格,但是当用户添加详细信息时,我想检查我的数据库,看看确切的车辆是否已经预订了这些日期。如果有,则会显示错误消息。
答案 0 :(得分:1)
您的车辆应有身份证号码。因此,当用户尝试预订车辆时,您会根据预订车辆的表格检查ID。像这样的东西(空气码)应该有效:
Dim db as Database
Dim rec as Recordset
Set db = CurrentDB
Set rec = db.OpenRecordset ("SELECT CarID FROM tblBookedCars WHERE CarID = " & Me.cboCarsToBook.Selected & "")
If rec.EOF Then
'Your car isn't booked, so process your booking
Else
Msgbox "That car is already booked"
End If
答案 1 :(得分:1)
假设已预订的汽车有开始和结束日期,则在以下情况下发生预订碰撞:
RequestStartDate< = EndDate 和 RequestEndDate> = StartDate
以上是一个相当简单的查询,但如果发生任何冲突,上面的内容将返回记录,而您根本不允许预订。这意味着您不必维护一些巨大的“杂乱”汽车表和汽车预订的每个日期。您只需要在开始和结束日期附加到给定车辆的简单行(因此很容易更改日期 - 您只更新一个预订报告。
构建此类查询的Air代码看起来很像:
interface DogLike {
void bark();
}
interface CatLike {
void meow();
}
class Dog implements DogLike {
@Override
public void bark() {
System.out.println("Woof");
}
}
interface MoreauMachine {
<H extends DogLike & CatLike > H createHybrid();
}
class MalfunctioningDogCatFactory implements MoreauMachine {
@Override
public DogLike createHybrid() {
//Compile with -Xlint:unchecked to see a warning here:
//Warning:(84, 20) java: createHybrid() in org.cumberlw.viewtest.MalfunctioningDogCatFactory implements <H>createHybrid() in org.cumberlw.viewtest.MoreauMachine
//return type requires unchecked conversion from org.cumberlw.viewtest.DogLike to H
return new Dog();
}
public static void main(String[] args) {
MoreauMachine factory = new MalfunctioningDogCatFactory();
//crashes!
//Exception in thread "main" java.lang.ClassCastException: org.cumberlw.viewtest.Dog cannot be cast to org.cumberlw.viewtest.CatLike
factory.createHybrid().meow();
}
}
上面只是一个例子,我相信你会建立一个很好的表格,提示用户预订日期。但是,这里很好的是上面的简单查询将返回任何冲突。